[应用相关] STM32 串口使用IDLE中断+DMA接收

[复制链接]
2637|37
lzmm 发表于 2022-10-20 13:40 | 显示全部楼层
协议栈中的串口接收流程串口在底层使用的是中断,轮询还是dma
lihuami 发表于 2022-10-20 15:08 | 显示全部楼层
当UART接收完一帧数据后,会产生一个空闲中断。这个中断在UART其他任何状态都不产生,只会在接收完一帧数据后才会产生,一帧数据可以是1个字节或者多个字节。
maudlu 发表于 2022-10-20 16:00 | 显示全部楼层
当发生了空闲中断时要关闭DMA,停止DMA数据传输,然后进行处理数据
mnynt121 发表于 2022-10-20 16:53 | 显示全部楼层
串口中断和DMA中断一起使用行么
zhaoxqi 发表于 2022-10-20 22:07 | 显示全部楼层
串口中断接收数据被持续的外部中断会导致接收数据异常么
updownq 发表于 2022-10-21 20:38 | 显示全部楼层
串口发送数据每一帧直接有较长的空闲时间,因此当STM32接收完一个数据帧后检测到串口处于空闲状态时就会触发IDLE中断
belindagraham 发表于 2022-10-21 22:04 | 显示全部楼层
串口中怎样接收一个完整数据包的解析
pmp 发表于 2022-10-22 10:44 | 显示全部楼层
串口空闲中断配合MM32F0270 UART使用DMA方式接收数据可以减小CPU的开销。
claretttt 发表于 2022-10-22 12:04 | 显示全部楼层
在项目中经常用到串口接收一些不定长的数据的   
mnynt121 发表于 2022-10-22 13:11 | 显示全部楼层
stm32f103串口的IDLE中断配合DMA接收不定长数据
backlugin 发表于 2022-10-22 14:11 | 显示全部楼层
空闲中断的优点在于省去了帧头帧尾的检测,进入中断程序即意味着已经接收到一组完整数据,仅需及时对数据处理或将数据转移出缓冲区即可。
geraldbetty 发表于 2022-10-22 15:12 | 显示全部楼层
对于接收不定长数据,由于内核在串口接收数据到空闲这段时间,是不受理串口数据的,所以可以使用DMA来协助我们把数据传送到指定的地方,当数据传输完成后,通知内核去处理。
elsaflower 发表于 2022-10-22 16:12 | 显示全部楼层
IDLE接收空闲中断+RXNE接收数据中断 可完成串口数据的收发
chenci2013 发表于 2022-10-22 17:17 | 显示全部楼层
设置了较大的DMA缓存,主要通过IDLE中断来接收不定长数据
xiaoyaodz 发表于 2022-10-22 18:30 | 显示全部楼层
STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据
macpherson 发表于 2022-10-23 09:17 | 显示全部楼层
DMA加IDLE中断不定长字节接收   降低MCU负载。
pmp 发表于 2022-10-23 10:43 | 显示全部楼层
串口idle中断怎么用     
claretttt 发表于 2022-10-23 12:02 | 显示全部楼层
用中断接收不行吗?              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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