串口通信如何设置波特率

2019-07-20 15:23发布

用的阿波罗F767的板子,看了下第一个样例代码,大致流程就是设置时钟、定时器、串口的参数,然后就不停的发数据。
在时钟确定的情况下,串口的波特率设置应该只要改USART1->BRR这一个地方就行了,结果我将main函数中的uart_init(108,115200);里面的115200改成其他波特率,不管是改高还是改低,电脑均收到乱码(串口助手也同步改了波特率)。
更神奇的是,把波特率改成57600,串口助手的波特率仍然保持115200不变,也可以正常接收数据。
开了串口助手的时间戳看了下接收时间,全都是相差1秒,main函数里面还有一个延时函数,我特意改了下试试,发现无论把延时改成多少,电脑上收到的数据都是间隔1秒……
难道波特率设置还需要改其他的什么地方吗?为什么延迟函数没有效果?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。