程实践中要求设置串口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。