新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > MSP430精准配置高速串口波特率的方法

MSP430精准配置高速串口波特率的方法

作者:时间:2013-07-22来源:网络收藏


3 系统工作频率计算
对于A0,其时钟源频率为F0,使A0工作在计数器模式下并设置每计数T0次产生一次中断,即每中断一次的时间t0为:
c.JPG
对于A1,其时钟源频率为F1,使定时器A1工作在计数器模式下并设置每计数T1次产生一次中断,即每中断一次的时问t1为:
d.JPG
e.JPG

4 设置
对于给定串口时钟源BRCLK,分频因子N满足:
N=BRCLK/Baudrate
分频因子N常常不是整数,因此,至少需要一个分频计数器和一个调整器来产生一个近似于分频因子N的数。
在低频模式下,整数部分分频因子满足:
UCBRx=INT(N)
且分数部分满足下列公式:
UCBRSx=round[(N-INT(N))×8]
设置程序如下:
division_factor=f_smclk/(Baudrate*1.0);
UCA0BR0=(int)division_factor;
UCA0BR1=((int)division_factor)>>8;
UCA0MCTL|=(int)((division_factor_(int)division_factor)*8);

5 方案验证
如方案3所述,先测出串口时钟源的当前频率,再根据该频率设置寄存器及调整器的值。将修改后的程序下载到串口能通信和串口不能通信的多个设备进行验证。通过示波器测试发现,被测设备的时钟频率存在差异,各设备之间的频率不一定相同,同时发现串口的实际波特率与理论波特率一致,其表现形式为串口能正常通信。至此,方案3通过验证,该方案可有效避免因串口时钟源时钟偏移导致不能通信的问题。

结语
实践证明,计算出内部时钟经过倍频后的高频时钟,再根据该时钟频率设置串口波特率的方法可行。该方法从纯软件的角度有效地解决了单片机内部时钟频率不稳定,单片机因环境温度、气压、电磁等导致系统时钟频率偏差,以及单片机器件之间的差异性等因素导致串口通信失败的问题。

 

本文引用地址://m.amcfsurvey.com/article/153443.htm

数字通信相关文章:数字通信原理


通信相关文章:通信原理


负离子发生器相关文章:负离子发生器原理
尘埃粒子计数器相关文章:尘埃粒子计数器原理
晶振相关文章:晶振原理
离子色谱仪相关文章:离子色谱仪原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭