1.大家都知道一般51单片机与PC通信时一般采用11.0592M的晶振,那么如果用了12M的晶振与PC通信bps为2400时 那么单片机应该TH1=TH0=0xF4;但实际上要TH1=TH0=0xF3;才能正常通信,那么其他高点的bps能不能像这样降低TH1,TH0的值来正常通信?
2.为什么STM32只要用12M晶振就可以直接正常通信了?
1,可以,但是具体数值要重新计算,而且算出来不一定准。所以建议你还是11.0592M的
2,STM32的外部晶振可以用8M的也可以用12M的,它内部的锁相环可以设置为分数,然后供给串口,而51的锁相环没那么强大,所以才需要用11.0592这种晶振
51的这个速率是与晶振有关的,要把晶振的频率进行分频。
而STM32是有PLL的,是可以通过软件程序进行时钟频率的。