• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32F103 定时器触发ADC采样,DMA方式?

井大浩521 2018-08-14 浏览量:1319
我用定时器PWM触发ADC采样,用DMA中断方式读取内存数据,读取到一定数据后(也就是DMA多次中断后),然后在DMA中断中停止定时器,处理完数据后,再初始化定时器。重新开始新一轮的采样。不知道这样能不能实现?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案

其他答案 数量:6
  • 这么复杂的控制逻辑,需要调试的模块很多。

    建议你使用CubeMx试试

    • 发布于2018-08-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 12M,每1/12微秒做一次什么呢,应该是比较一次吧。 
    1KHz就是1ms1个周期吧。 
    239.5那个越大越准确。比较次数越多,越接近实际值吧。 
    但是例如239.5计算出来不合适,就得改小。 
    239.5+12.5=252. 
    252*1/12=21μs. 就是21微秒准备好一次,1个周期1ms内有47个21微秒,所以,此时,你最多一个周期采集47次了。 
    如果你想采集50次,就不能选这个239.5.
    • 发布于2018-08-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以,但是DMA读取到一定量数据可以不用产生多次中断的,只要使能一个DMA全满的中断,然后算好你要采多少数据,只要触发一次DMA中断就行了


    • 发布于2018-08-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 最好是 使用DMA的溢出中断,保证你的DMA数据传输满再进行中断
    • 发布于2018-08-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断不需要立即进行处理,等中断完成后直接读取对应的寄存器数据即可
    • 发布于2018-08-25
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断的开始和结束都是阶段性的,adc的中断开始时采集,DMA结束后再结束采集、初始化定时器等,不需要响应多次adc中断。
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32F103 定时器触发ADC采样,DMA方式?