转载自:http://blog.csdn.net/sdwuyulunbi/article/details/6632382
相信很多人都对单片机与计算机或者芯片通信时,RXD与TXD如何连接比较困惑。因为在一些电路图中,有的是直连接法,有的是交叉接法,让人有点摸不着头脑。
首先需要明白两个概念,就是DTE和DCE。DTE是指数据终端设备,典型的DTE就是计算机和单片机。DCE是指数据通信设备,典型的DCE就是MODEM。RS232串口标准中的RXD和TXD都是站在DTE立场上的,而不是DCE。明白了这一点,再讲下面的接线方法,就很好理解了。
单片机与计算机进行串口通信时,单片机的RXD接计算机的TXD,单片机的TXD接计算机的RXD。
(1)使用串口直通线。设计电路时,单片机的RXD连接电路板DB9的TXD,单片机的TXD连接电路板DB9的RXD,具体实现可在232电平转换芯片处反接。
(2)使用串口交叉线。设计电路时,因为串口线已做交叉,单片机的RXD连接电路板DB9的RXD,单片机的TXD连接电路板DB9的TXD,均直连即可。
这就可以解释为什么有的电路中使用直连接法,有的电路中使用交叉接法,就是因为使用的串口线不同。
单片机与串口设备(如GPRS模块、载波芯片等)通信时,一律将RXD与TXD反接,即单片机的RXD接设备的TXD,单片机的TXD接设备的RXD。(特殊标注其RXD与单片机RXD直连的除外,如华为的EM310)
以上只是开发过程中的个人心得,有什么问题,希望各位童鞋不吝赐教。
--然后,我查了一下MAX485的资料,发现DATASHEET说MAX485的DI(Data Input)接51的TXD,MAX485的RO(R... Output)接51的RXD。这就很明显了嘛,8051是DTE,MAX485是DCE,数据从51的TXD发出,从MAX485的DI输入进行处理,51的RXD接法同理。如有错误,感谢指出。