设为首页 加入收藏

TOP

TI MSP430系列单片机串口通信波特率计算方法
2014-11-24 12:05:03 来源: 作者: 【 】 浏览:0
Tags:MSP430 系列 单片机 串口 通信 波特 计算 方法

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=13,即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。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇两种方式实现TinyOS对MSP430F26&5.. 下一篇TinyOS在CC2520上移植成功

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Libevent C++ 高并发 (2025-12-26 00:49:30)
·C++ dll 设计接口时 (2025-12-26 00:49:28)
·透彻理解 C 语言指针 (2025-12-26 00:22:52)
·C语言指针详解 (经典 (2025-12-26 00:22:49)
·C 指针 | 菜鸟教程 (2025-12-26 00:22:46)