[应用相关] 关于USART中Tx/Rx波特率计算

[复制链接]
1213|6
 楼主| lefeng 发表于 2016-6-15 19:59 | 显示全部楼层 |阅读模式
Cortex-M3的USART中,Tx/Rx波特率=fpclkx/(16*USARTDIV),为啥要除16呢?在将小数部分转换的时候为啥要乘16
拉克丝 发表于 2016-6-15 20:08 | 显示全部楼层
因为串口系统是以16倍波特率的时钟工作;
小数部分乘16是为了用小数部分参加分频,
Snow7 发表于 2016-6-15 20:21 | 显示全部楼层
16代表AHB的分频 跟stm32自身寄存器的配置的特性有关,查查stm32的帮助手册
戈卫东 发表于 2016-6-15 20:31 | 显示全部楼层
直接 BRR = PCLK / BPS 就可以
无视那个16一点问题都没有
米尔豪斯 发表于 2016-6-15 20:36 | 显示全部楼层
浮点数的小数部分是不能直接作为分频因子使用的,所以要乘16
豆腐块 发表于 2016-6-15 21:17 | 显示全部楼层
实际上可以将串口系统看成是以和波特率相同的时钟工作,就可以直接用整数计算了
309030106 发表于 2016-6-15 21:40 | 显示全部楼层
查查stm32的帮助手册,应该是跟stm32自身寄存器的配置的特性有关
您需要登录后才可以回帖 登录 | 注册

本版积分规则

200

主题

1087

帖子

0

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