打印
[N32G430]

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

[复制链接]
手机看帖
扫描二维码
随时随地手机跟帖
21
vivilyly| | 2024-9-6 19:32 | 只看该作者 回帖奖励 |倒序浏览
使用DMA来配合USART接收数据成为了一个高效和性能优异的方案。

使用特权

评论回复
22
maudlu| | 2024-9-6 21:08 | 只看该作者
USART通信是非常常见的一种数据传输方式。

使用特权

评论回复
23
elsaflower| | 2024-9-6 22:46 | 只看该作者
设置USART的RXNE中断使能位,当接收完成时,中断会被触发。

使用特权

评论回复
24
fengm| | 2024-9-7 11:05 | 只看该作者
通过定时器或软件计数器设置一个超时时间。在等待接收数据的过程中,如果超过了超时时间仍未接收到新的数据,则认为一组数据接收完成。

使用特权

评论回复
25
maqianqu| | 2024-9-7 12:41 | 只看该作者
一些微控制器支持USART事件位,当接收到数据时,相应的事件位会被置位。
可以在主循环中检查这些事件位,并在检测到事件时读取数据。

使用特权

评论回复
26
lzbf| | 2024-9-7 14:16 | 只看该作者
USART支持硬件流控制(如RTS/CTS),可以使用它来控制数据的接收。
当接收缓冲区准备好接收新数据时,发送一个请求信号给发送端。

使用特权

评论回复
27
fengm| | 2024-9-7 15:57 | 只看该作者
轮询方法是最简单的一种              

使用特权

评论回复
28
geraldbetty| | 2024-9-7 17:30 | 只看该作者
USART通常用于与外部设备进行异步串行通信,传统的接收方式依赖于中断

使用特权

评论回复
29
xiaoyaodz| | 2024-9-7 19:06 | 只看该作者
可以通过定期检查接收缓冲器的状态来手动检测数据的到来。

使用特权

评论回复
30
alvpeg| | 2024-9-7 20:42 | 只看该作者
设置DMA来自动接收USART数据时,需要配置DMA通道以从USART的RDR寄存器读取数据,并将其存储到内存中的指定位置。同时,可以配置DMA传输完成中断来处理接收到的数据。

使用特权

评论回复
31
cashrwood| | 2024-9-7 22:16 | 只看该作者
使用DMA              

使用特权

评论回复
32
jackcat| | 2024-9-9 09:42 | 只看该作者
在主循环中不断检查USART的接收状态寄存器。

使用特权

评论回复
33
ingramward| | 2024-9-9 11:20 | 只看该作者
主循环中可以处理接收到的数据,例如打印出来或进行其他操作。

使用特权

评论回复
34
juliestephen| | 2024-9-9 12:54 | 只看该作者
DMA 可以在无需 CPU 干预的情况下,将数据从 USART 接收数据寄存器直接传输到指定的内存区域。当 DMA 传输完成后,可以产生中断通知 CPU 进行数据处理。

使用特权

评论回复
35
uytyu| | 2024-9-9 14:31 | 只看该作者
DMA 可以在无需 CPU 干预的情况下,将数据从 USART 接收数据寄存器直接传输到指定的内存区域。

使用特权

评论回复
36
LLGTR| | 2024-9-9 17:11 | 只看该作者
使用dma传输是一种有效的方式,可以使usart在不使用空闲中断的情况下接收多个数据。

使用特权

评论回复
37
Pretext| | 2024-9-11 06:12 | 只看该作者
轮询器**消耗CPU时间,在实时系统中可能不是最有效的方法。

使用特权

评论回复
38
好几遍vh| | 2024-9-30 14:47 | 只看该作者
数据长度已知,如何接收多

使用特权

评论回复
39
天天向善| | 2024-10-6 14:14 | 只看该作者
利用dma配合usart接收数据已经成为一种高效高性能的解决方案。

使用特权

评论回复
40
理想阳| | 2024-10-6 23:56 | 只看该作者
在主循环期间,持续检查usart接收状态寄存器。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则