UART通信波特率一般都用常见的那些值(9600bps,57600bps,115200bps等)。现在有两块单片机之间UART通信,我想波特率应该是可以随便设定的,只要两边统一就好,觉得从UART的协议上理解是对的,因为主要就是定时器在控制。但是事实上试起来好像不行,不知道是什么问题呢?因为现在遇到的问题是57600小了点,但是115200又太大了,影响距离,想设置成80000bps左右这样的波特率。(UART是硬件的UART口,单片机是MSP430F5529)
或者说在波特率选择的时候依据是什么呢?那些常见的典型的波特率当初是怎么定出来的,我又可以根据什么样的规律来选择一个可以用的波特率呢?
在设置波特率的时候也要看看串口所选择的时钟源,有时候会造成不同的波特率下的误码率不一样
恩,这个是。不过问题应该不是出在这个地方,因为在算寄存器值时算法是用的和计算典型波特率相同的方法,根据计算出来的值看误差应该也不大的,在允许范围内的。也就是说你也觉得是在“时钟用来设置波特率”没问题的情况下,波特率是不一定要设置成那些典型值的?
谢谢!
看看设置波特率涉及的寄存器,根据手册,有没有57600和115200之间的值。
不需要跟他人的设备通讯,当然可以配置成非标波特率,用寄存器配置字或选择合适频率的晶体都可以实现。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
恩,好的,谢谢!这样坚定了我就知道方向没错,我再试试!