串口通信调试笔记

来源:互联网 发布:软件使用说明文档 编辑:程序博客网 时间:2024/05/21 13:58

    串口是所有应用里面最常用的通信接口,其结构简单,使用方便,关于串口也没有想到过会用专门的一篇文章来记录,但是在实际过程中却因为它跑了两趟电子市场并且折腾了两天才把问题搞清楚。

 

    为了省钱,买了国产的MAX3232 CSE芯片,芯片上的字码为两行。在设计之初,感觉MAX3232和MAX232只是电源电压不同而已,没有其他区别,实际电路图按照MAX232直接copy的。

    结果焊接完成后,发现不能接收数据(本人用最常用的8051时刻发送数据完成发测试,接收没有写程序,通过链接TXD和RXD引脚完成)。

    刚开始怀疑是不是电容大小不对,将0.1uF的换成1uF的试试,依然不行。

    后来,用示波器测试,发现:不接串口的时候,在RS232信号端,有数据波形,用线连接到串口,波形消失,此时,开始怀疑,是不是芯片的缘故。于是乎,去买了几片进口IC(丫的,第一次卖家用国产货充进口货,害我又跑了一趟,去另一家买的,这样的卖家坑爹呀,不诚信。进口IC的码字不是喷上去的,而是刻上去的,算上+号分三行)。本来想着问题是在这里的,但是换上ic发现依然是之前的情况。

    然后再排查的时候发现,MAX232和MAX3232的连线是有区别的:

    前者是MAX232,后者是MAX3232,区别在于C3,MAX232的C3两端是V+和VCC,而MAX3232的C3两端是V+和地。果然被自己不过大脑的设计坑苦了。

    将这里的问题修正以后,发现依然是刚才的问题,不连接线,可以观测到数据波形,连接串口到PC以后,波形消失。

    这个问题就比较严重了,之前测试使用的都是计算机自带的串口,就推测,是不是芯片的负载能力问题呢,于是接了一根USB转串口,CH340芯片的,竟然好使了!

    难道是我的PC串口有问题,但是我用一块其他的开发板,这个串口可以正常收发数据。

    那是不是这个MAX3232驱动PC的串口力不从心呢,于是我将之在其他PC机上测试时,结果是可以正常收发数据的!

 

最终的结果是:

    我的设计的确有问题,见两个原理图。改正后,无论国产IC还是进口IC,使用USB转串口都可以正常收发数据,用其他PC的自带串口也可以正常收发,但是在我的PC的自带串口上失败,而我自带的PC串口,用手头的另一块开发板测试,可以正常收发数据。

 

原创粉丝点击