为什么这段函数的波特率是9600 U1BR1=baud_h; U1BR0=baud_l; U1MCTL=0x00;
时间: 2024-02-15 21:45:39 浏览: 45
这段函数应该是针对串口通信的初始化函数。9600是一个常用的波特率,而U1BR1和U1BR0是用来设置波特率的寄存器。根据串口通信的原理,波特率是通过计算波特率发生器的值来实现的。而波特率发生器的值可以通过以下公式计算:
Baud Rate = Fosc / (16 * (UxBRG + 1))
其中,Fosc是MCU的主频,UxBRG是波特率发生器的值。根据这个公式可以算出UxBRG需要的值,然后将UxBRG拆分成两个8位寄存器U1BR1和U1BR0。MCTL寄存器是用来微调波特率的,这里设置为0x00表示不进行微调。
因此,U1BR1和U1BR0的值应该是经过计算得到的9600波特率下对应的UxBRG值拆分而来的,以便串口通信能够正常进行。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)