从接触51单片机开始就认识了串口,但前段时间越想越对串口迷茫:公头、母头、直连串口线、交叉串口线,这些到底该怎么连接把我搞得晕头转向。终于在不断的查阅资料、静静的苦思冥想和不断的看电路图、用万用表测试中,对串口有了透彻、清晰的认识。
先说一下我在很久以前遇到的一个小问题。我最初开始使用的是优龙的开发板,串口线也是使用的配套的,没出现过问题。后来开始使用天嵌的开发板,当时为了省事,想继续用优龙提供的串口线,但是接到天嵌的开发板上启动时,串口没有任何信息。然后我改用天嵌提供的串口线连接,这样就都正确了。当时觉得这是个小问题,可能是优龙的串口线哪里出问题了,就没仔细考虑。
下面说标准的串口定义。无论是公头还是母头,都是2脚是RXD,3脚是TXD,所以在任意两个串口通信时,使用的连接线应该是交叉串口线。特别是一个公头一个母头的时候,是不能直接连接的,一定要使用交叉的一头公一头母的串口线。
再说一下市面的情况。按照标准的串口定义,应该都是使用交叉串口线的,那为什么还有直连串口线呢?!这就是有些公司在设计串口电路的时候,为了配合使用直连串口线,将标准的串口定义改了。下面给两个电路图。
优龙板的串口电路图
天嵌的串口电路图
从这两个图大家就可以看到区别:优龙使用的是标准的定义,DB9插座的2脚接MAX3232的14脚,即RXD;而天嵌中DB9插座的二脚接的是13脚,即TXD。这样就很容易明白为什么我当时用优龙的串口线和天嵌的板子连行不通了!
总结一下,在实际使用中,不需要考虑标准非标准,而是要看电路里是如何定义的。只要记住RXD接TXD、TXD接RXD就可以了,根据电路里的设计决定使用直连串口线还是交叉串口线。