1.两机有物理链路连接(有线(串、并或者其他方式的总线)、无线)
2.两机协商有合适的通信约定(可以采用公开协议,也可以自定义)
3.分别根据通信协议实现具体的通信协议,并对链路进行监测,实现数据发送接收和处理
4. 在此基础上实现多机通信(有些连线方式和协议本身就能支持多机,则你只需要在相应程序中想办法标志不同机器就好,多机通信可以通过一个中心机来实现(类似交换器),也可以是网状的),注意,你标题写双机,里面又是多机?!
首先要看你的通信媒介,其次是通信方式。
如果是无线通信的话,有超声波,红外,wifi,zigbee,蓝牙等,每一个注意事项都有,但是zigbee,wifi,蓝牙都可以使用串口操作,要注意串口传输的速度。
有线传输有串口,SPI,IO口,IIC等,要注意线路的干扰,线长对传输准确率也有影响
单片机双机通信,看使用什么通信方式(硬件接口),然后制定通信协议。
有线就是RS232,485,CAN,SPI等,需要注意通信线缆的长度及防干扰;
无线就是蓝牙,ZIGBEE,WIFI等。通信协议是为了防止数据冲突,导致收发失败。
通信的结构发送端、信道、接收端,要解决的问题是消息的有效性和可靠性。双机通信要考虑的也是这几个部分,信道课分为有线信道和无线信道,解决有效性和可靠性需要通信协议。
常用的有线信道有杜邦线,无线信道有蓝牙、wifi等(NRF24L01不是wifi,但是也是无线信道的一种);常用的通信协议有IIC、SPI等。
两个机子通讯就用tx rx就可以了,保持波特率一样,可以搞个自动检测波特率功能
如果很多机子:参考TCP协议弄个地址,然后广播抓包,对等加密
如果是一异步通讯方式的话,主要约定通讯速率。
如果是同步通讯就由一方的确定时钟线频率就OK。
然后就是协议。也没什么特别需要注意的、