社区导航

 
查看: 1240|回复: 1

[资料分享] TI MSP430系列单片机串口通信波特率计算方法

[复制链接]

3360

TA的帖子

421

TA的资源

五彩晶圆(中级)

Rank: 8Rank: 8

荣誉会员勋章

发表于 2013-11-29 19:10:29 | 显示全部楼层 |阅读模式

TI MSP430系列单片机,usart模块的波特率值设定是通过以下三个寄存器决定的:UxBR0,UxBR1,UxMCTL
波特率=BRCLK/N ,主要是计算出N。
BRCLK:时钟源,可以通过寄存器设定何为时钟源; 通过寄存器UCAxCTL1的SSEL两位选择,01:ACLK,02:SMCLK

N:波特率产生的分频因子。N=UxBR1+UxBR0+UxMCTL,其中UxBR1+UxBR0为整数部分,UxMCTL为设定小数部分,其中 UxBR1为高位,UxBR0为低位,两者结合起来为一个16位的字。
        举例说明:波特率=115200,时钟源=8MHz ,为外部晶体振荡器
N=8000000/115200=69.44 。很明显:UxBR1+UxBR0=69,即UxBR1=0,UxBR0=0x45,首先把小数部分0.44×8,即3.52,取整后为3。这个3表示在UxMCTL中的8位里要有3个1,并且,UxMCTL分为First Stage Modulation和Second Stage Modulation,也就是前者为高4位,取值范围0-F,后者为低4位,注意后4位最好选择偶数。把上步的到的小数部分取整后的数值分散到高位和低位,如3,可以写为0x16。

此帖出自MSP430论坛


回复

使用道具 举报

145

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2014-2-12 22:22:40 | 显示全部楼层
谢谢解答,波特率的计算似乎都不太一样,用软件计算的结果和使用说明书中推荐值也不一样。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-8-15 19:11 , Processed in 0.075418 second(s), 17 queries , Gzip On, Redis On.

快速回复 返回顶部 返回列表