关于msp430波特率设定的一点说明

楼主
关于msp430波特率设定的一点说明
MSP430系列,usart模块的波特率值设定是通过以下三个参数决定的:UxBR0,UxBR1,UxMCTL

波特率=BRCLK/N
BRCLK:时钟源;
N:波特率产生的分频因子。N=UxBR1+UxBR0+UxMCTL,其中UxBR1+UxBR0为整数部分,UxMCTL为设定小数部分
举个实例:波特率=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,也可以是其它值。

其它搞单片机的就是要把基本原理搞清楚,其它就没什么大问题了。
下图是一张典型波特率的查表: (手册中有一个参考表)
图片有点变小,请点击查看,再附论坛里的波特率计算软件
http://www.microcontrol.cn/bbs/a/a.asp?B=112&ID=241
1楼
good!~
2楼
知其所以然! 受教了!
3楼
Modulation is based on the UCBRSx setting as shown in Table 11–2. A 1 in the
table indicates that m = 1 and the corresponding BITCLK period is one BRCLK
period longer than a BITCLK period with m = 0. The modulation wraps around
after 8 bits but restarts with each new start bit.
Table 11–2. BITCLK Modulation Pattern
UCBRSx Bit0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7
     0 0 0 0 0 0 0 0 0
     1 0 1 0 0 0 0 0 0
     2 0 1 0 0 0 1 0 0
     3 0 1 0 1 0 1 0 0
     4 0 1 0 1 0 1 0 1
     5 0 1 1 1 0 1 0 1
     6 0 1 1 1 0 1 1 1
     7 0 1 1 1 1 1 1 1

如果是3的话就是bit2咯?有3个1     4的话是bit7?  是这样理解的么?  最后一位总是设置0是不是好设置点呀?因为这是datasheet里的呀。。
4楼
学习了!
5楼
有直接的波特率软件,那个比较准的,论坛里有的,当然最好把计算原理理解下。

电脑版 Page created in 0.1562 seconds width 3 queries.