[N32G45x] N32G45x TIM1 PWM触发采样ADC+串口DMA中断接收不定长字节

[复制链接]
1030|3
 楼主| 座次二十三 发表于 2022-9-19 16:29 | 显示全部楼层 |阅读模式
GPIO资源:ADC:PC3;串口:PA9、PA10
ADC: ADC1 ;通道:ADC1_Channel_09_PC3 + 内部温度传感器通道
定时器:TIM1
触发方式:PWM内部触发
DMA:TX:DMA1_CH4
          RX:  DMA1_CH5
          ADC : DMA1_CH1

中断:串口RX空闲中断;DMA(ADC对应的通道)传输完成中断

ADC工作方式:通过PC3每采集完8次后,切换到内部温度传感器通道,采样3次(软件触发采集,不用DMA),如此轮询采集;

串口工作模式:接收使用了空闲中断接收不定长数据,例程是接收到AA 55 77 88后,检验通过再执行TX发送;



21.png

UART_DMA.rar

791.26 KB, 下载次数: 42

sy12138 发表于 2022-9-20 10:13 | 显示全部楼层
linjinming2000 发表于 2022-9-20 21:54 | 显示全部楼层
串口+DMA接收不定长度的,最好使用循环数组,DMA设置为循环模式,通过定时器中断比如1mS定时检查DMA数据长度,判断是否有数据接收,一旦有数据接收,则启动超时,超时时间到就认为一帧数据接收完成

评论

高见  发表于 2022-9-21 09:41
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

17

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部