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
- 步驟 三 :修改 PB0 的腳位輸出配置,本案修改為 Pull up 的 Push Pull 輸出使用CubeMx 重新產生工程
關鍵步驟
把標頭檔文件加入宣告,另外需要加入引用
新增 ADC 連接埠配置初始化程序以及控制引腳電平
最後使用內建函數配合排成
ADC channels注意事項
這邊如果依照原先增加方式通道是只有2可存放單純改通道數目會出現Hard Fault
仔細研究後會發現除了改以上通道外標頭檔的宣告文件RCM_MAX_CONV內也需要跟著修改
參考
- MCSDK Wiki
- ST MC SDK 5.x 实际使用案例