本内容关于江科协b站视频中串口波特率设置计算而写。最终实现根据想要的波特率设置定时器初值与重装值(TL1与TH1)。
一.
这里我们先试用逆推,由视频中软件生成的串口波特率为4800的代码中,TH1,TL1为0xf4。
0xf4转换为十进制为244
再根据下图,由下向上看得出波特率。
二.
现在我们知道了大概计算方法,让我们自己计算一遍吧!
1.选择我们要的波特率,例如9600
2. 9600✖️16➗11.0592✖️12(一个机械周期为十二个震荡周期)➗1000000(转化为数量级,晶振为11.0592mhz)得到结果为0.166666
3.用1➗0.166666得到6.000024
4.用256-6得250,转化为十六进制为0xfa
验证结果,得到我们计算的结果是正确的 。
如果你想计算其他比特率下的定时初始值和重载值,只需将第二部分中的9600换至为你想要的波特率即可。
欢迎指证,谢谢