[求助] STM32定时器触发ADC采集数据发送到上位机

tangjc2001   2022-6-4 15:05 楼主

现在我们学校要求写程序,实现定时器触发ADC采集数据发送到上位机进行画图

我设置了一个六字节的DMA缓存区,用于存储ADC采集到的数据,然后通过DMA传输到串口发送,采样频率为1Khz,我设置了定时器0.001s一次更新中断,定时器中断函数中采集数据,然后进行串口DMA请求,但不知道进行中断服务函数时定时器会不会继续产生更新中断,想咨询一下有没有逻辑清晰一点的设计想法

回复评论 (5)

1mS中断肯定没问题,采集也没提,但在1ms周期没发送是有问题的,因为窗口通讯有迟延,不一定能完成任务。

چوآن شـين
点赞  2022-6-4 20:31

可能會卡在串口速度不夠快,可以改用USB傳輸資料.

或者降低1ms中斷頻率,讓發送的串口速度能跟上.

点赞  2022-6-6 09:06
引用: vincentc543 发表于 2022-6-6 09:06 可能會卡在串口速度不夠快,可以改用USB傳輸資料. 或者降低1ms中斷頻率,讓發送的串口速度能跟上.

我想的是把ADC采集的程序写在定时器中断程序中,每产生一次中断,就采集一次数据,然后传输一次数据,不知道可不可以这样

点赞  2022-6-7 21:12

定时器周期触发ADC,DMA转存,然后ADC完成中断取数据,交出一个标志给MAIN,在主程序中做查询循环,如果有ADC过来的标志,则USART通讯到PC,清楚标志,然后等待下个ADC结束标志。

چوآن شـين
点赞  2023-3-24 20:04

也可以采用PWM触发ADC,查询以下ADC的触发方式就可以选个方式,按上述方式。

我都试过,非常好用,而且还可以采用无输出的PWM

چوآن شـين
点赞  2023-3-24 20:06
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复