430UxMCTL波特率调整控制寄存器,串口波特率

[复制链接]
1675|8
 楼主| zpp_204 发表于 2014-11-27 11:11 | 显示全部楼层 |阅读模式
困惑,求各位大侠答疑解惑。
430串口波特率问题:
若波特率发生器的输入频率BRCLK不是所需波特率的整数倍,带有一小数,则
整数部分写UBR 寄存器,小数部分由调整寄存器UxMCTL 的内容反映。波特率由以下
公式计算:
波特率=BRCLK/(UBR+(M7+M6+…M0)/8)

例如:波特率=2400, 模块时钟=32768Hz ,其分频因子为13.65
由于分频因子不一定正好为整数,因此对小数部分必须通过调整寄存器来进行调整,在此
可插进5个“1”来满足一帧数据的65%的误差。但即使这样也不可能完全消除这种误差,

可插进5个“1”来满足一帧数据的65%的误差。这句话怎么讲,什么意思?
A:   
UBR00 = 0x13;                             // 32768/2400=13.65
UBR10 = 0x00;                             //
UMCTL0 = ??;     等于到少              // Modulation

B:
UBR00 = 0x03;                             // 32768/9600=3.41
UBR10 = 0x00;                             //
UMCTL0 = 0X4A;    0X4A是怎么来的          // Modulation

C:

UBR00 = 0x23;  还是0x22                           // 4M/115200=34.722
UBR10 = 0x00;                             //
UMCTL0 = ??;   等于多少        // Modulation

 楼主| zpp_204 发表于 2014-12-12 15:26 | 显示全部楼层
是问题太简单了,还是没人懂
NE5532 发表于 2014-12-12 15:46 | 显示全部楼层
是你的问题太专,太怪。建议看英文原版,中文的有时候是看不懂。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

20

帖子

1

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