[N32G430] USART如何不使用IDLE中断接收多个数据

[复制链接]
3087|46
vivilyly 发表于 2024-9-6 19:32 | 显示全部楼层
使用DMA来配合USART接收数据成为了一个高效和性能优异的方案。
maudlu 发表于 2024-9-6 21:08 | 显示全部楼层
USART通信是非常常见的一种数据传输方式。
elsaflower 发表于 2024-9-6 22:46 | 显示全部楼层
设置USART的RXNE中断使能位,当接收完成时,中断会被触发。
fengm 发表于 2024-9-7 11:05 | 显示全部楼层
通过定时器或软件计数器设置一个超时时间。在等待接收数据的过程中,如果超过了超时时间仍未接收到新的数据,则认为一组数据接收完成。
maqianqu 发表于 2024-9-7 12:41 | 显示全部楼层
一些微控制器支持USART事件位,当接收到数据时,相应的事件位会被置位。
可以在主循环中检查这些事件位,并在检测到事件时读取数据。
lzbf 发表于 2024-9-7 14:16 | 显示全部楼层
USART支持硬件流控制(如RTS/CTS),可以使用它来控制数据的接收。
当接收缓冲区准备好接收新数据时,发送一个请求信号给发送端。
fengm 发表于 2024-9-7 15:57 | 显示全部楼层
轮询方法是最简单的一种              
geraldbetty 发表于 2024-9-7 17:30 | 显示全部楼层
USART通常用于与外部设备进行异步串行通信,传统的接收方式依赖于中断
xiaoyaodz 发表于 2024-9-7 19:06 | 显示全部楼层
可以通过定期检查接收缓冲器的状态来手动检测数据的到来。
alvpeg 发表于 2024-9-7 20:42 | 显示全部楼层
设置DMA来自动接收USART数据时,需要配置DMA通道以从USART的RDR寄存器读取数据,并将其存储到内存中的指定位置。同时,可以配置DMA传输完成中断来处理接收到的数据。
cashrwood 发表于 2024-9-7 22:16 | 显示全部楼层
使用DMA              
jackcat 发表于 2024-9-9 09:42 | 显示全部楼层
在主循环中不断检查USART的接收状态寄存器。
ingramward 发表于 2024-9-9 11:20 | 显示全部楼层
主循环中可以处理接收到的数据,例如打印出来或进行其他操作。
juliestephen 发表于 2024-9-9 12:54 | 显示全部楼层
DMA 可以在无需 CPU 干预的情况下,将数据从 USART 接收数据寄存器直接传输到指定的内存区域。当 DMA 传输完成后,可以产生中断通知 CPU 进行数据处理。
uytyu 发表于 2024-9-9 14:31 | 显示全部楼层
DMA 可以在无需 CPU 干预的情况下,将数据从 USART 接收数据寄存器直接传输到指定的内存区域。
LLGTR 发表于 2024-9-9 17:11 | 显示全部楼层
使用dma传输是一种有效的方式,可以使usart在不使用空闲中断的情况下接收多个数据。
Pretext 发表于 2024-9-11 06:12 | 显示全部楼层
轮询器**消耗CPU时间,在实时系统中可能不是最有效的方法。
好几遍vh 发表于 2024-9-30 14:47 来自手机 | 显示全部楼层
数据长度已知,如何接收多
天天向善 发表于 2024-10-6 14:14 | 显示全部楼层
利用dma配合usart接收数据已经成为一种高效高性能的解决方案。
理想阳 发表于 2024-10-6 23:56 | 显示全部楼层
在主循环期间,持续检查usart接收状态寄存器。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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