打印

MSPM0L之UART数据传输

[复制链接]
555|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xyz549040622|  楼主 | 2023-5-30 08:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接收或发送的数据存储在两个 FIFO 中,但是接收 FIFO 的每个字符都有额外的四位用于指示状态。
发送数据:
当需要进行发送时,先将数据写入发送 FIFO。如果启用 UART,则会根据 UARTx.LCRH 寄存器中指示的参数开始发送数据帧。UART 模块会持续发送数据,直到发送 FIFO 中没有可发数据为止。数据一经写入发送 FIFO(即,如果 FIFO 不为空),UARTx.STAT 寄存器中的 BUSY 位即会生效,并在数据发送期间一直保持有效。仅
当发送 FIFO 为空,且最后一个字符(包括停止位)已发送到移位寄存器时,BUSY 位才为负。即使无法再启用 UART,UART 也可以指示它正忙。生成 BREAK 信号期间,也会设置 BUSY。
接收数据:
当接收器空闲(RX 信号持续为 1)且数据输入变为低电平(已接收到开始位)时,接收计数器开始运行,并根据 UARTx.CTL0 寄存器中 HSE 位的过采样设置,在不同的周期对数据进行采样。如果 RX 信号在基于过采样设置的特定数量的周期后仍为低电平,则开始位有效并被识别。检测到有效的开始位后,将根据数据字符的编程长度对连续的数据位进行采样。之后将捕获并校验奇偶校验位(如果使能了奇偶校验)。数据长度和奇偶校验都在 UART.LCRH 寄存器中定义。节 14.2.3.2 中介绍了过采样。
最后,如果 RXD 信号为高电平,则确认有效停止位,否则发生成帧错误。若成功接收到一帧数据,则数据和与之相关的错误标志都将保存到接收 FIFO 中。

使用特权

评论回复
沙发
duo点| | 2023-6-5 11:19 | 只看该作者
支持一下,感谢分享

使用特权

评论回复
板凳
chenjun89| | 2023-6-10 22:40 | 只看该作者
用DMA模式效率高

使用特权

评论回复
地板
chenqianqian| | 2023-6-10 22:52 | 只看该作者
常用中断模式发送接收数据

使用特权

评论回复
5
麻花油条| | 2023-6-11 10:18 | 只看该作者
楼主说的数据传输方式貌似不是常用,哈哈

使用特权

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

本版积分规则

个人签名:qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←

2754

主题

19237

帖子

104

粉丝