近来开始接触STM32F10x系列芯片的开发,在调试STM32F103VE串口时遇到问题,在这里记录一下,希望对大家有所帮助。
工具/原料
1
KEIL uVision4 for ARM
2
STM32F10x_StdPeriph_Driver v3.5
方法/步骤
参考官方的串口程序,自己编写了一个串口驱动模块,在测试过程中发现串口一直不输出。
解决办法
1
原始主要代码如图所示:
2
后来经研究官方代码,发现串口IO的始终没有使能,导致串口IO不能正常工作。串口IO时钟使能后,串口有数据输出,代码如图所示:
3
后来在调试过程中又发现串口输出速度加快之后,输出有乱码,发现官方的外设固件库中的串口发送函数,每次发送字节时不等上一个字节数据发送结束就发送下一个字节,导致发送速度较快时发送的数据出现丢失,产生乱码的情况,解决办法如图所示:
4
至此串口能够正常工作了。