以下三个地方是我的设定值:
一. USART_Init(USART1, &USART_InitStructure); 初始化函数中设定115200
二. #define HSE_VALUE ((uint32_t)8000000) 我的晶振是8MHz
三. /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M 8
/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */
#define PLL_Q 7
#if defined (STM32F40_41xxx)
#define PLL_N 336
/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P 2
#endif /* STM32F40_41xxx */
#if defined (STM32F427_437xx) || defined (STM32F429_439xx)
#define PLL_N 360
/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P 2
#endif /* STM32F427_437x || STM32F429_439xx */
#if defined (STM32F401xx)
#define PLL_N 336
/* SYSCLK = PLL_VCO / PLL_P */
#define PLL_P 4
#endif /* STM32F401xx */
我百度了好多,都是提到这三个地方可能导致问题 ,我都改好了(或者还是有问题?) 但和串口助手通讯时 助手设定波特率115200 乱码 设定57600时正常,一直都是。
但修改PLL_M=16时正常了
我用 STM32F4xx-Clock-Configuration-V1.1.0.xls 这个表格自动生成的system_stm32f4xx.c文件代替我自己的,问题照旧。 |