打印
[MM32生态]

灵动MCU的自动波特率检测功能

[复制链接]
1227|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LOVEEVER|  楼主 | 2024-9-27 15:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
UART 能够根据接收到的信号,自动检测并设置UART_BRR 寄存器。
自动波特率配置如下:
1. 配置ABRCR 寄存器的Former_edge 和Latter_edge, 选择自动波特率前一个边沿和后
一个边沿。
2. 配置ABRCR 寄存器的Abr_bitcnt, 选择自动波特率检测位长度。
3. 设置ABRCR 寄存器的Abr_en, 打开自动波特率检测功能。
打开ABRENDIEN, 自动波特率结束后会产生自动波特率结束中断。
打开ABRERRIEN, 自动波特率位错误或检测溢出错误,会产生自动波特率错误中断。
示例:
1. 设置Former_edge=1,Latter_edge=0,Abr_bitcnt=2,Abr_en=1
此时当接收到数据0xEF 时,会自动检测波特率并重置UART_BRR 寄存器,RXFIFO 会
接收到剩余数据0x0E。
2. 设置Former_edge=0,Latter_edge=1,Abr_bitcnt=2,Abr_en=1
此时当接收到数据0xF8 时,会自动检测波特率并重置UART_BRR 寄存器,RXFIFO 会接
收到剩余数据0x1F。
注:当Former_edge=1,并且接收的数据位最低位不为1,会导致接收出错,RXFIFO 中无数据。

使用特权

评论回复
沙发
w2nme1ai7| | 2024-10-24 17:05 | 只看该作者
灵动微电子的MCU(微控制器单元)通常具备自动波特率检测功能,这一功能在串行通信中非常有用,尤其是在设备启动或通信初始化时

使用特权

评论回复
板凳
p0gon9y| | 2024-10-24 18:10 | 只看该作者
自动波特率检测功能允许MCU在启动或通信初始化时自动识别和设置正确的波特率,无需用户手动配置。

使用特权

评论回复
地板
g0d5xs| | 2024-10-24 19:11 | 只看该作者
简化了系统配置过程,减少了用户的工作量,提高了系统的灵活性和易用性

使用特权

评论回复
5
lamanius| | 2024-10-24 20:16 | 只看该作者
自动波特率检测通常基于特定的波特率检测算法,通过分析接收到的数据帧中的起始位和停止位来确定波特率

使用特权

评论回复
6
q1ngt12| | 2024-10-24 21:30 | 只看该作者
自动波特率检测功能通常支持一定的波特率范围,如9600、19200、38400、57600、115200等。

使用特权

评论回复
7
kaif2n9j| | 2024-10-24 22:35 | 只看该作者
检测精度取决于MCU的时钟频率和算法的复杂度,通常可以达到较高的精度

使用特权

评论回复
8
cen9ce| | 2024-10-25 08:14 | 只看该作者
在设备启动时,自动波特率检测功能可以自动识别并设置正确的波特率,确保设备能够正常通信。减少了用户在设备启动时的配置工作,提高了设备的易用性

使用特权

评论回复
9
lix1yr| | 2024-10-25 09:45 | 只看该作者
在通信初始化过程中,自动波特率检测功能可以自动识别并设置正确的波特率,确保通信链路的建立。化了通信初始化过程,提高了系统的灵活性和可靠性。

使用特权

评论回复
10
t1ngus4| | 2024-10-25 10:05 | 只看该作者
自动波特率检测功能通常通过硬件寄存器进行配置,用户可以通过设置特定的寄存器位来启用或禁用该功能

使用特权

评论回复
11
d1ng2x| | 2024-10-25 13:13 | 只看该作者
在软件层面,用户可以通过调用特定的API或函数来启用自动波特率检测功能

使用特权

评论回复
12
suncat0504| | 2024-10-25 20:07 | 只看该作者
有了自动波特率检测功能,在未知串口波特率的情况下,非常有用。要不然,得一个一个试验。

使用特权

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

本版积分规则

296

主题

1968

帖子

4

粉丝