打印

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

[复制链接]
1328|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

粉丝