[求助] MSP430单片机的UART波特率设置相关问题

六度分离xia   2014-12-22 14:22 楼主
UART通信波特率一般都用常见的那些值(9600bps,57600bps,115200bps等)。现在有两块单片机之间UART通信,我想波特率应该是可以随便设定的,只要两边统一就好,觉得从UART的协议上理解是对的,因为主要就是定时器在控制。但是事实上试起来好像不行,不知道是什么问题呢?因为现在遇到的问题是57600小了点,但是115200又太大了,影响距离,想设置成80000bps左右这样的波特率。(UART是硬件的UART口,单片机是MSP430F5529)

回复评论 (9)

或者说在波特率选择的时候依据是什么呢?那些常见的典型的波特率当初是怎么定出来的,我又可以根据什么样的规律来选择一个可以用的波特率呢?
点赞  2014-12-22 14:26
在设置波特率的时候也要看看串口所选择的时钟源,有时候会造成不同的波特率下的误码率不一样
点赞  2014-12-22 17:18
恩,这个是。不过问题应该不是出在这个地方,因为在算寄存器值时算法是用的和计算典型波特率相同的方法,根据计算出来的值看误差应该也不大的,在允许范围内的。也就是说你也觉得是在“时钟用来设置波特率”没问题的情况下,波特率是不一定要设置成那些典型值的?
谢谢!
引用: IC爬虫 发表于 2014-12-22 17:18
在设置波特率的时候也要看看串口所选择的时钟源,有时候会造成不同的波特率下的误码率不一样


点赞  2014-12-22 18:32
引用: 六度分离xia 发表于 2014-12-22 18:32
恩,这个是。不过问题应该不是出在这个地方,因为在算寄存器值时算法是用的和计算典型波特率相同的方法,根据计算出来的值看误差应该也不大的,在允许范围内的。也就是说你也觉得是在“时钟用来设置波特率”没问题的情况下,波特率是不一定要设置成那些典型值的?
谢谢!
是的
点赞  2014-12-22 19:55
看看设置波特率涉及的寄存器,根据手册,有没有57600和115200之间的值。
点赞  2014-12-22 20:48
不需要跟他人的设备通讯,当然可以配置成非标波特率,用寄存器配置字或选择合适频率的晶体都可以实现。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2014-12-22 21:13
恩,好的,多谢!

点赞  2014-12-22 22:07
寄存器设置理论上应该是可以实现之间的值的,谢谢!
引用: ienglgge 发表于 2014-12-22 20:48
看看设置波特率涉及的寄存器,根据手册,有没有57600和115200之间的值。

点赞  2014-12-22 22:08
恩,好的,谢谢!这样坚定了我就知道方向没错,我再试试!
引用: chunyang 发表于 2014-12-22 21:13
不需要跟他人的设备通讯,当然可以配置成非标波特率,用寄存器配置字或选择合适频率的晶体都可以实现。

点赞  2014-12-22 22:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复