多语言展示
当前在线:1352今日阅读:82今日分享:48

STM32F103VE芯片串口不能正常工作的解决办法

近来开始接触STM32F10x系列芯片的开发,在调试STM32F103VE串口时遇到问题,在这里记录一下,希望对大家有所帮助。
工具/原料
1

KEIL uVision4 for ARM

2

STM32F10x_StdPeriph_Driver v3.5

方法/步骤

参考官方的串口程序,自己编写了一个串口驱动模块,在测试过程中发现串口一直不输出。

解决办法
1

原始主要代码如图所示:

2

后来经研究官方代码,发现串口IO的始终没有使能,导致串口IO不能正常工作。串口IO时钟使能后,串口有数据输出,代码如图所示:

3

后来在调试过程中又发现串口输出速度加快之后,输出有乱码,发现官方的外设固件库中的串口发送函数,每次发送字节时不等上一个字节数据发送结束就发送下一个字节,导致发送速度较快时发送的数据出现丢失,产生乱码的情况,解决办法如图所示:

4

至此串口能够正常工作了。

推荐信息