[N32G45x]

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

[复制链接]
112|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

使用特权

评论回复
sy12138| | 2022-9-20 10:13 | 显示全部楼层

使用特权

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

使用特权

评论回复
评论
座次二十三 2022-9-21 09:41 回复TA
高见 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则