通讯协议 的理解 :
1、通讯协议通俗易懂的理解就是两个设备之间互相 传递信息 大家一起 约定好的一种规则;通讯协议 又分为硬件层协议和 软件层协议,常用的 硬件层协议 如:RS-232、RS-485、CAN、I2C、SPI等 ,硬件层协议好比汽车需要的公路,在通信上负责稳定传输0、1两种基本的二进制数据 ,如两个 MCU 之间进行数据的传输 ,MCU使用 地线和信号线(数据传输过程 会带干扰)的传输方式输出 TTL电平 即 (逻辑0:0V 逻辑 1:5V),RS485发送器 有两条输出信号线(常用是双绞线) ,若 当前接收到逻辑0,则Va>Vb,同理若是接收到逻辑1,则相反,之后,485接收器通过比较两条线的电压高低,输出逻辑0 or 逻辑 1;
2、可以看到RS485可以起到更稳定的传输数据0、1,因为 输出的TTL电平的信号线在传输过程中很容易受到干扰奥;
3、CAN总线的传输原理也是相似的,只不过是 逻辑 1代表两根信号线都是 2.5V,逻辑 0代表一根线为1.5V 一根线为 3.5V;
4、可以看到 不同的硬件层协议其实就是不同的方式去传输逻辑 0、1,不过是相似的,就好比我们的公路,航空路线,水路,其实都是路 ,都是我们交通工具基本的路线载体 ;
5、有了路以后 我们就需要定义规则,就是我们的软件层协议,要画实线、虚线、斑马线,让车子行人遵守交通规则,安全顺畅地在我们的路上行驶 ;例如485单向通信就是单向道,只能在一个方向上传输;而半双工通信则是同一时间不能我发送数据过去同时接收数据 ,要约定主从的通信方