1、为了解决串口乱码并兼容usb等正常使用,,降频为96MHz;
2、由于乱码是系统时钟的倍频数大于了16;
3、参考时钟树,时钟源应该为外部时钟且不需要进行2分频,即8MHz;
4、系统时钟可以为 96MHz(倍频系数为12),104MHz(倍频系数为13), 112MHz(倍频系数为14),120MHz(倍频系数为15), 128MHz(倍频系数为16)
5、设置为上述频率时,串口乱码都解决,但只有当系统时钟为96MHz时,USB才可以分频为48MHz;设置为更高时,USB时钟不满足;设置比96MHz低时(72MHz等),虽然可以满足,但比STM32提升50%的性能就荡然无存了;
6、设置外部时钟源且不进行2分频关键:将RCU_CFG0的16位置1,17位置0
RCU_CFG0&=~(1<<17);
RCU_CFG0|=(1<<16);
|