关于STM32系列的例程网上有很多,大部分是103系列,使用USART3,而且都是直接抄袭书上3.0的固件库或者转载别人的,所以很少又遇到类似我的问题,由于我用105系列芯片,开发板上只有USART3引出来重映射PD8、PD9,用的3.5的固件库,所以调试起来特别麻烦,没有可以运行的例子参考,网上down了一下都发现有问题,自己摸索半天终于发现了解决方案,觉得自己应该做出一点事情,为来源社会略尽微薄之力,所以决定开始写技术博客,一定要我自己原创的,发现别人一般发现不了问题的,绝大多数人转载的那种就算了。
其实103和105/107系列差别很小,只在建立工程的时候要稍微设置一下,有空专门写一篇建工程的,总的来说要使105的USART3要注意几个地方:
1.如果没法收发数据,通常情况是执行printf以后,串口助手只显示空字符串,查看HEX是00,首先要检查硬件,做嵌入式最关键的一点是,在怀疑自己代码之前先看硬件有没有连错,很多时候这样可以省不少事情,像我自己就是刚开始板子上面只连出了RXD和TXD,我就很天真地用3根杜邦线,和9针的电脑串口2、3、5连了,忘了还需要MAX232转电平,调代码搞半天浪费了时间没解决真正的问题,后面找到别的板子的MAX232模块,硬件问题解决。
2.这时候还不能收发数据,查了网上大部分资料,跟预期的