第一次写博客,记录一下自己学习中容易混淆的知识点。
STM32通信:
通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统。
通信协议:指定通信的规则,通信双方按照协议规则进行数据收发。
通信方式分类:
全双工:通信双方在同一时间内能够同时进行发送数据和接受数据;(有两根数据线)
半双工:通信双方在同一时间内只能有一方发送数据、另一方接受数据;(一根数据线)
单工:通信双方只能从一方发送数据,另一方接收数据;
时钟电平分类:
同步时钟:IIC和SPI有单独的时钟线,所以他们是同步的,接收方在时钟的指引下进行采样。
异步时钟:其他的通信没有时钟线,所以需要双方约定一个采样频率。
电平分类:
单端电平:信号相对于参考地(GND)的电平,通过单个传输线来传输数据。(TTL、RS232电平)
TTL电平:通常使用0V作为逻辑低电平(0),使用3.3V或5V作为逻辑高电平(1)。
RS232电平:使用正负电压来表示逻辑高低,通常-3V至-15V表示逻辑低电平(0),+3V至+15V表示逻辑高电平(1)。
差分电平:使用两个相对的信号线来传输数据,通过比较这两个信号线的电压差来确定信号状态。(RS485电平)
RS485电平:使用两线制(传输线A和传输线B)来传输差分信号。逻辑低电平(0)是通过使传输线A低于传输线B来实现,逻辑高电平(1)是通过使传输线A高于传输线B来实现。
名称 | 引脚 | 双工 | 时钟 | 电平 | 设备 |
USART | TX、RX | 全双工 | 异步 | 单端 | 点对点 |
IIC | SCL、SDA | 半双工 | 同步 | 单端 | 多设备 |
SPI | SCLK、MOSI、MISO、CS | 全双工 | 同步 | 单端 | 多设备 |
CAN | CAN_H、CAN_L | 半双工 | 异步 | 差分 | 多设备 |
USB | DP、DM | 半双工 | 异步 | 差分 | 多设备 |
其中USART和UART通信异同点:
1、USART是一种通用的同步/异步串行通信接口,支持同步和异步两种通信模式;有时钟输出信号,拥有更好的传输速率。
2、UART是一种通用的异步串行通信接口,没有时钟信号,传输效率比较低,适用于简单的数据从传输。
TTL、RS232、RS485串口通信区别:
1、TTL短距离通信;
2、RS232是短距离通信的点对点通信标准,全双工通信。
3、RS485是长距离通信的多点通信标准,半双工通信。