 |  | | | | 先理解两个知识点(无论是串口RS232,RS485与RS422都是基于串口通信协议(UART)进行传输的,而之所以出现这些通信接口,就是为了解决不同场景下遇到的通信问题)
|
|
|
 |  | | | | 单片机 P3.0/RXD与P3.1/TXD 直接 相连 的话
A机 RXD 连B机 TXD
A机 TXD 连B机 RXD
|
|
|
 |  | | | | 首先要分清是硬件问题还是软件的问题,两个单片机物理上相距多远,直接用TTL电平连接的两个串口,还是变成了RS232电平
|
|
|
 |  | | | | 发送程序确实需要加上while(1);但原因不是你所的那样,是因为你不加while(1);程序可能从开始又执行起来,这也是导致问题1的可能原因
|
|
|
 |  | | | | 程序上不需要太大改动,主要是硬件上面,需要加232电平转换电路,芯片是MAX232,连接串口DB9的时候用2.3.5脚,5脚是地,接单片机地;2.3脚是发送接收(具体顺序我忘了,你查一查吧),接单片机的发送接收(交叉连接);或者你看一看MAX232的芯片资料,上面有电路图,你就懂了
|
|
|
|