STM 各串口(1、2、3、4、5)调试问题及解决思路

       进入嵌入式微电子行业将近两年的时间,以一名小菜鸟的身份总结一下对于这个行业、对于MCU、对于我自己来说非常重要的一个外设——串口(USART/UART),如有不对,多多见谅,帮忙留言改正,万分感谢!!!!!

1、在校园期间,最先接触的微电子/单片机是8051单片机,刚刚接触时,对于平时都只是简单的搬弄一下IC布置一下简明的电路的我触动是非常大的,好奇的第一个问题是:电脑上的代码怎么可以通过烧录后就可以控制MCU完成我们想要的功能,比如一个按键控制灯,控制数码管以及一组心形流水灯,实现起来都非常的快速(当然,不是我自己)。。。。

       这个之后的过程就不多说,有时间是得写一遍关于如何入坑的博客!!!

2、言归正传:

     串口:相信搞嵌入式的都不可避免的会用来,用的地方还特别的对,特别的对刚入行的我们来说,用的吧,也是能用就用(毕竟其他的通讯方式吧,难一点,个人而言)

     8051的串口资源比较的少,一般1、2个左右,初学的时候,用寄存器的方式代码写起来也不是很多,现在回想一下,8051寄存器操作起来还是比较的简单粗暴的,上来就是0x几几。

     18年大学毕业以后,有幸还是从事了本专业的工作,工作后第一次接触的单片机——PIC18,一款对于自己来说完全完全完全没有用过的MCU,第一个用的外设就是串口。。。。第一次看整篇的英文文档(当然是一个一个百度翻译了),怎么形容呢,就是各种有用的没用的资料没有经验的各种下载,各种博客,文章看,,,到现在、自己使用最多的还是STM 内的微控制器,项目启动初期首选芯片(没办法,资料是真多,性/功能都挺好),废话了这么久,,,,

 3、首先是STM32F103的串口:

      起初吧,觉得资料挺多的,外设初始化代码什么的直接就是粘贴复制,然后写一写用户代码以及接受/发送中断服务函数的代码就好啦。。。起初不管是寄存器操作还是标准库操作,基本是复制过来就用,每次遇到问题都是一同乱调,就算调通了只能归结为运气好,最多长吁一口气。。。终于好了!!继续下一个模块;不会停下来花一点时间来整理,记住这个教训(初学者没有师傅真的是没有头绪呀!!)

     浪子回头:总结一下(也是请教一下大佬们,,我这总结是不是有一些片面的,错误的理解,停留几秒,指正一下)

             1、之前用STM32F103的时候,直接用串口下载,接上TTL模块,使用FlyMcu烧录软件,只能用串口1才能将生成好的HEX文件烧录进去;当时画了一个PCB板子用的是串口2,下载不了(这么设置BOOT都没用)。。。跳线,用串口1下载就成功了

             2、手里有两个板子,一个开发板,一个项目板。。。将一个串口调试代码烧录两个板子,一个有用,一个没用的,,起初还以为是板子画错了或者是焊接的时候出了问题,万般无奈之下在同事的提醒下换看一根线。。。问题奇迹般的解决了!了解才知道,串口线有平行线与交叉线之分(直呼,又涨见识了!!)

             3、还有一个就是波特率的问题,不管是板子与PC端通信,还是板子与板子之间的通信,串口之间通信,两者一定要波特率相同,不然会出现的有-------乱码、或者干脆就什么都没有出现的情况。

             4、在上面的问题基本都被我注意并着手解决了之后,有时还是不行,通信不了,没有数据(串口使用232芯片转换了一下),,,,最后只能怀疑硬件问题,怀疑一下大佬出品的硬件了(没法—),一量232芯片供电电压,电压过低,,,电源管理模块出了一点问题,换上一个电阻,问题就成功解决。

         以上的问题可能对于大佬而言,都是小菜一碟呀,之所以写出来。。。。。

第一,希望有幸可以帮助一下  像刚遇到这些问题时不知从何下手的,经验缺乏的——我的道友们。

第二、自我总结一下,希望自己能够慢慢的在总结中成长。

         初学,不懂   并不可怕,入了这个坑以后,,,,伴随你一生的可能不是各种入行时想象的天花乱坠的未来,,,,但绝对是一直不断的学习学习学习学习。。。总结总结总结。。。没有止境。

       加油!!!!奋斗在电脑面前道友们!!!!

           

   

猜你喜欢

转载自blog.csdn.net/qq_41764645/article/details/88102236