
本次项目所使用的CPU为STM32L051CT8系列,之前项目使用的为STM32F030C8的CPU,于是我使用CubeMX生成了STM32L0的一个关于串口的项目,但是,我感觉CubeMX在更改项目文件中,害怕会丢失文件,于是我就从CubeMx生成的项目中,将STM32L0固件库等拷贝到原先自己使用的标准模板中。现在问题来了,我将在STM32F0中使用的串口程序,拷贝到这边的标准模板中使用,并且,单步调试观察串口能够成功发送数据,但是,PC端的串口助手仍然接收不到发送的数据,最后,我将CubeMX中生成的标准项目串口初始化设置部分的代码和我F0项目中移植的串口部分代码进行了对比,发现了一个问题。. n$ F9 n3 c, p V$ B( ]- |" d CubeMX ![]() èªå·±ä½¿ç¨çæ 忍¡æ¿ ![]() 正是由于这个端口复用的问题,导致了上面出现的BUG现象,KEIL端能够看到串口端的数据成功发送,但是,PC端串口助手却没有收到数据。综上,告诫大家自己在移植项目时,若需要使用自己的标准模板,最好记得参考CubeMX生成的标准代码,这样能够避免一些意想不到的BUG出现在自己的项目中。(制造BUG容易,解决BUG难) |
嗯嗯,谢谢: v4 {- e8 K# C0 K! q) _* Q