stm32cubemx adc采样的几种方总结,触发获取adc值的方法 timer trigger中断
- 方法1,软件触发
- 方法2:,Timer触发ADC采集通过DMA搬运
触发获取adc值的方法
Regular Conversion launched by software 软件触发 调用函数即可触发ADC转换
Timer X Capture Compare X event 外部引脚触发
Timer X Trigger Out event 定时器通道触发,需要设置相应的定时器
方法1,软件触发
即使用DMA,也要在软件中循环调用才可以触发中断回调
调用函数即可触发ADC转换
需要在主循环中调用ADC启动函数,让函数不停被调用
参考链接:https://blog.csdn.net/weixin_49249873/article/details/136498447
方法2:,Timer触发ADC采集通过DMA搬运
定时器通道触发,需要设置相应的定时器 ,配置复杂
需要注意的地方:
ADC1配置:使能扫描转换模式(Scan Conversion Mode)(使用多通道时),不要使能连续转换模式(Continuous Conversion Mode)图中那个是错误的设为disable就行,使能DMA连续请求。
ADC配置要注意Timer 3 Trigger Out event.
接下去重点是定时器的配置
配置好定时器中断时间,设置update event这样就可以了。要打印数据就自己配置串口。。
在while(1)前面以DMA方式开启ADC装换。HAL_ADC_Start_DMA()函数第二个参数为数据存储起始地址,第三个参数为DMA传输数据的长度。
参考链接:https://www.cnblogs.com/lmj1997/p/10167815.html
参考链接:https://blog.csdn.net/q1793556674/article/details/125178286