Stm32f407DISCOVEY学习uart串口波特率乱总结
2014-09-29 10:47
197 查看
这几天调试Stm32f407DISCOVEY。由于没有串口现成的库函数例程,就用的神州王开发板上的例程直接调,结果串口输出老是乱,115200波特率;;试着把它换到 38400居然可以打印,相差3倍多;真相只有一个,进过调试摸索百度,终于找到原因;
.时钟频率不对 由于时钟频率是在库文件里自动定义好的,一开始没有发现,但是波特率一直不对,后来发现问题在库文件里定义的外部晶振是25M,而DISCOVERY的板子上用的是8M的晶振,故产生的主频不对,需要改两个地方,①所以在 stm32f4xx.h中改
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */
在system_stm32f4xx.c中改
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M 8
串口正常打印了;
.时钟频率不对 由于时钟频率是在库文件里自动定义好的,一开始没有发现,但是波特率一直不对,后来发现问题在库文件里定义的外部晶振是25M,而DISCOVERY的板子上用的是8M的晶振,故产生的主频不对,需要改两个地方,①所以在 stm32f4xx.h中改
#if !defined (HSE_VALUE)
#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */
在system_stm32f4xx.c中改
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
#define PLL_M 8
串口正常打印了;
相关文章推荐
- ARM11 6410学习总结----UART串口
- STM32F405串口UART4波特率注意问题
- 学习笔记 --- LINUX UART串口驱动框架分析
- STM32F103mini教程学习总结与心得(二)---->串口通信
- USB学习总结3—USB gadget设备驱动实现(usb串口功能)
- STM8学习笔记---串口uart1
- UART、I2C以及SPI协议学习总结
- TQ2440开发板学习纪实(5)--- 设置UART串口,输出Hello World!
- uart串口的调试学习
- STM8学习笔记-----uart1串口中断
- UART传输协议-个人学习总结
- FPGA学习——UART串口模块
- java基础学习总结——java串口通信
- FPGA 学习之路 (七) UART串口设计
- 嵌入式系统学习——S3C2451之串口UART
- 嵌入式系统学习——STM32之串口通信UART
- 关于示波器测485串口波特率的使用方法总结
- 02-JZ2440裸机学习之系统时钟和UART串口实验
- 串口学习小总结(1)
- STM32 串口烧写 FLASH 外部字库 UCGUI显示 自我学习总结