学习野火的固件库UART1串口事例时,用的是SIM9008模块运用板上的STM32103F103RB芯片,运用的外部晶振是12M。
串口读取的是乱码
默许的外部晶振是8M
因为STM32的库默许是外部晶振8M的情况下完成的,所以装备串口波特率的时分也是按8M,包含主频。
假如选用外部晶振8M或12M,装备时钟为72MHZ 。
1)在system32_stm32f10x.c文件中的void SetSysClockTo72(void)里这样改:
8M:
RCC-》CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);//8*9=72
12M:
RCC-》CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);//12*6=72
2)stm32f10x.h中修正:
8M:
#define HSE_Value ((uint32_t)8000000) /*!《 Value of the External oscillator in Hz */
12M:
#define HSE_Value ((uint32_t)12000000) /*!《 Value of the External oscillator in Hz */