TI MSP430系列单片机串口通信波特率计算方法
2011-07-27 12:38
381 查看
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。
波特率=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。
相关文章推荐
- TI MSP430系列单片机串口通信波特率计算方法
- MSP430系列串口波特率计算方法
- STM32单片机的串口通信波特率应该这样计算~
- STM32单片机的串口通信波特率应该这样计算
- 单片机串口通信波特率计算
- 51单片机定时计数器溢出率计算和串口的波特率之间的关系
- STC单片机11.0592晶振实现115200波特率串口通信
- STC单片机11.0592晶振实现115200波特率串口通信
- MSP430精准配置高速串口波特率的方法
- 8051单片机串口波特率和定时器1的初值计算
- 串口通信过程中更改波特率的方法 C#实现
- 关于单片机串口通信波特率问题
- 51系列单片机之串口通信
- MSP430精准配置高速串口波特率的方法
- T1串口波特率的计算方法
- T1串口波特率的计算方法
- MSP430设置串口波特率的方法
- 谈德州仪器(TI) MSP430 基于16位单片机的生态系列
- msp430设置串口波特率的方法
- 单片机程序协助调试方法(一)串口调试(持续更新中)