MSP430系列单片机串口通信波特率计算方法
时间:11-13
来源:互联网
点击:
MSP430系列,usart模块的波特率值设定是通过以下三个参数决定的:UxBR0,UxBR1,UxMCTL
波特率=BRCLK/N
BRCLK:时钟源,可以通过寄存器设定何为时钟源;如选用SMLK作为主时钟源
N:波特率产生的分频因子。N=UxBR1+UxBR0+UxMCTL,其中UxBR1+UxBR0为整数部分,UxMCTL为设定小数部分,其中UxBR1为高位,UxBR0为低位,两者结合起来为一个16位的字。
举个实例:波特率=2400,时钟源=32.768kHz
N=32768/2400=13.65
很明显:UxBR1+UxBR0=13,即UxBR1=0,UxBR0=13,主要是小数部分对于初学者不是很好理解;
首先把小数部分0.65×8,即5.2,取整后为5。这个5的意思就是在UxMCTL中的8位里要有5个1,剩下来的就是怎么分配这5个1的位置了。注意一点就是这5个1要相对分散点。
在这个设定中,UxMCTL取0x6B即:01101011,也可以是其它值。如10101011,只要注意1的个数和让其比较分散就可以
波特率=BRCLK/N
BRCLK:时钟源,可以通过寄存器设定何为时钟源;如选用SMLK作为主时钟源
N:波特率产生的分频因子。N=UxBR1+UxBR0+UxMCTL,其中UxBR1+UxBR0为整数部分,UxMCTL为设定小数部分,其中UxBR1为高位,UxBR0为低位,两者结合起来为一个16位的字。
举个实例:波特率=2400,时钟源=32.768kHz
N=32768/2400=13.65
很明显:UxBR1+UxBR0=13,即UxBR1=0,UxBR0=13,主要是小数部分对于初学者不是很好理解;
首先把小数部分0.65×8,即5.2,取整后为5。这个5的意思就是在UxMCTL中的8位里要有5个1,剩下来的就是怎么分配这5个1的位置了。注意一点就是这5个1要相对分散点。
在这个设定中,UxMCTL取0x6B即:01101011,也可以是其它值。如10101011,只要注意1的个数和让其比较分散就可以
MSP430系列单片机串口通信波特率计 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)