[资料] MSP430_x2xx UART波特率设置方法
851 查看
4 回复
 楼主 | 发布于 2017-11-22 | 只看楼主
分享到:

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

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

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 INTN))* 8= 3

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

UCBRx = 3,

UCBRSx = 3;

UCBRFx  = 0.

所以,设置

UCBR0 = 3;

UCBR1 = 0;

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

二、           使用高速时钟

UCBRx = INT(N/16)

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

 

(0 ) (0 )

嵌入式开发

回复 举报

回复于 2019-09-17 沙发

谢谢分享
(0 )
评论 (0) 举报

回复于 2019-09-17 2#

谢谢分享
(0 )
评论 (0) 举报

回复于 2019-09-25 3#

感谢分享!
(0 )
评论 (0) 举报

回复于 2019-10-21 4#

资料不错,谢谢分享
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部