STM32F10X系列MCU的说明文档中对ADC通道顺序设置上说的比较简单,在做多通道采集项目且用DMA作为数据传输时,若是没有设置好通道顺序,那么有些通道的数据可能会采集不到,本人在做ADC实验时就遇到此问题,因此写下来作为经验总结
工具/原料
1
STM32F系列简单开发板一块
2
电脑一台
3
JLINK仿真器一个
4
MDK4.73开发平台
方法/步骤
1
在使用STM32的ADC多通道采样时,需要为每一个使用到的通道配置对应的转换顺序及采样时间。这些工作可以在STM32的固件库函数ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime)中设置,具体描述查看STM32固件库使用手册
2
参数Rank就是通道的采样顺序,比如通道10设置Rank为1表示在ADC工作是第一个采样的通道是ADC10,同样的如果同时分别设置通道10、11、12、13的Rank为1、2、3、4的话,在ADC工作在规则组扫描模式下,将会先采样ADC10通道,后面依次采样通道ADC11、ADC12、ADC13
4
分别设置好通道的采样顺序后,DMA端就可以精确的输出每一个通道的采样值,如下图
注意事项
个人经验仅供参考
上一篇:电脑如何安装内存条
下一篇:台式机什么是宽内存条和窄内存条