程实践中要求设置串口1的波特率为9600bps,当PCLK2的时钟为36MHz时,填入USART1

1个回答
展开全部
摘要 在PCLK2时钟为36MHz时,如果要设置USART1串口的波特率为9600bps,可以使用以下公式进行计算:Baud rate = PCLK2 / (16 * USARTDIV)其中,USARTDIV是USART的除数,需要根据波特率计算得出。在这里,我们需要将9600bps转换为USARTDIV的值,可以使用以下公式:USARTDIV = PCLK2 / (16 * Baud rate)将9600bps代入公式,得到:USARTDIV = 234.375因为USARTDIV是一个整数,所以需要将其四舍五入到最接近的整数。因此,当PCLK2时钟为36MHz时,设置USART1串口的波特率为9600bps时,USARTDIV应该设置为234。
咨询记录 · 回答于2023-03-18
程实践中要求设置串口1的波特率为9600bps,当PCLK2的时钟为36MHz时,填入USART1
在PCLK2时钟为36MHz时,如果要设置USART1串口的波特率为9600bps,可以使用以下公式进行计算:Baud rate = PCLK2 / (16 * USARTDIV)其中,USARTDIV是USART的除数,需要根据波特率计算得出。在这里,我们需要将9600bps转换为USARTDIV的值,可以使用以下公式:USARTDIV = PCLK2 / (16 * Baud rate)将9600bps代入公式,得到:USARTDIV = 234.375因为USARTDIV是一个整数,所以需要将其四舍五入到最接近的整数。因此,当PCLK2时钟为36MHz时,设置USART1串口的波特率为9600bps时,USARTDIV应该设置为234。
程实践中要求设置串口1的波特率为9600bps,当PCLK2的时钟为36MHz时,填入USART1->BRR寄存器的值为(用16进制表示)?
USART1->BRR寄存器是用来设置波特率的。其公式为:BRR = (PCLK2 frequency / (baud rate x 16))其中PCLK2 frequency为PCLK2的时钟频率,baud rate为要设置的波特率。将给定的条件代入该公式,可得:BRR = (36000000 / (9600 x 16)) = 234.375因为USART1->BRR寄存器是16位的,需要将计算结果取整并转化为16进制表示,即:BRR = 0xEA因此,当PCLK2的时钟为36MHz时,设置串口1的波特率为9600bps时,USART1->BRR寄存器的值应该为0xEA。
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消