MSP430_x2xx UART波特率设置方法

对于给定的时钟源,波特率有分频因子决定

 

 

很多情况下N是非整数,所以使用分频器和调整器两部分来组成波特率发生器,这样是分频因子尽量接近需要值。分频器完成分频功能,调整器的数据按每一位计算,将对应为的数据(0或1)加到每次分频计数器的分频值上。

若N大于或等于16,则可以通过设置UCOS16来启动 oversampling baud rate generation mode 。

具体的寄存器设置方法:

 

 

一、           使用低速时钟

UCBRx = INT(N)

UCBRSx = round((N – INT(N))*8)

寄存器的具体设置可以查典型波特率和误差表得到。

 

 

例如,使用32768Hz的时钟源产生9600波特率。

计算分频因子:

N = 32768/9600 = 3.41

所以,UCBRx = INT(N) = 3

UCBRSx = round((N – INT(N))* 8)= 3

同样可以直接通过查表得到:

UCBRx = 3,

UCBRSx = 3;

UCBRFx  = 0.

所以,设置

UCBR0 = 3;

UCBR1 = 0;

UCA0MCTL = UCBRS1 + UCBRS0;(0x03) 即可。

二、           使用高速时钟

UCBRx = INT(N/16)

UNCBRFx = round(((N/16)-INT(n/16))*16)

 

 

分享到: 更多
版权申明:

本站保留所有原创文章的版权,本站地址:奔跑的博客[http://www.elecbench.com]

原创文章转载时请注明出处,并添加文章所在页面的链接:http://www.elecbench.com/219/

本站所有 2010年3月4日 以后发表、未标明为“转载”的文章均是本站原创。

发表评论


(设置自己的个性头像)

*

申请属于你的免费顶级域名