![](http://stamssolution.com/wp-content/uploads/2023/07/螢幕擷取畫面-2023-07-10-141445.png)
Adding ADC channels in MCSDK 5.X
前言
馬達控制使用MCSDK時候因為ADC已被使用來採樣Shunt電流,這邊在現有的ADC上要再增加通道會需要考慮到取樣率等問題,如果直接用STM32CubeMX加ADC通道沒有做成是排成修改,會讓系統排成Fail,這邊主要是提供資訊如何在馬達專案上增加通道用在飛Shunt電阻採樣
實際操作
- 增加PB1 ADC1_CH12 作 為旋鈕電壓輸入 ,PB0 作為控制腳位輸出,這邊直接使用MCSDK生成專案
- 步驟二:打開 CubeMx 工程 P NUCLEO IHM001 BullRunning.ioc添加 PB1 為 ADC_IN12 PB0 為 GPIO_Output
![](https://stamssolution.com/wp-content/uploads/2023/11/image-13-1024x240.png)
- 步驟 三 :修改 PB0 的腳位輸出配置,本案修改為 Pull up 的 Push Pull 輸出使用CubeMx 重新產生工程
![](https://stamssolution.com/wp-content/uploads/2023/11/image-14-1024x354.png)
關鍵步驟
![](https://stamssolution.com/wp-content/uploads/2023/11/image-15.png)
把標頭檔文件加入宣告,另外需要加入引用
![](https://stamssolution.com/wp-content/uploads/2023/11/image-16.png)
新增 ADC 連接埠配置初始化程序以及控制引腳電平
最後使用內建函數配合排成
![](https://stamssolution.com/wp-content/uploads/2023/11/image-17-1024x244.png)
ADC channels注意事項
這邊如果依照原先增加方式通道是只有2可存放單純改通道數目會出現Hard Fault
![](https://stamssolution.com/wp-content/uploads/2023/11/image-18.png)
![](https://stamssolution.com/wp-content/uploads/2023/11/image-19.png)
仔細研究後會發現除了改以上通道外標頭檔的宣告文件RCM_MAX_CONV內也需要跟著修改
![](https://stamssolution.com/wp-content/uploads/2023/11/image-20.png)
參考
- MCSDK Wiki
- ST MC SDK 5.x 实际使用案例