在单片机开发中,UART、I2C、RS485等普遍在用,这里做一个简单的介绍
UART通用异步收发器
UART口指的是一种物理接口形式(硬件)。

UART是异步(指不使用时钟同步,依靠帧长进行判断),全双工(收发可以同时进行)串口总线。它比同步串口复杂很多。有两根线,一根TXD用于发送,一根RXD用于接收。UART的串行数据传输不需要使用时钟信号来同步传输,而是依赖于发送设备和接收设备之间预定义的配置,对于发送设备和接收设备来说,两者的串行通信配置应该设置为完全相同。

起始位:表示数据传输的开始,电平逻辑为“0” 。
数据位:可能值有5、6、7、8、9,表示传输这几个bit 位数据。一般取值为8,因为一个ASCII 字符值为8 位。
奇偶校验位:用于接收方对接收到的数据进行校验,校验“1” 的位数为偶数(偶校验) 或奇数(奇校验),以此来校验数据传送的正确性,使用时不需要此位也可以。
停止位:表示一帧数据的结束。电平逻辑为“1”。
如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。
I2C总线
I2C总线是一种同步、半双工双向的两线式串口总线。它由两条总线组成:串行时钟线SCL和串行数据线SDA。
SCL线——负责产生同步时钟脉冲。
SDA线——负责在设备间传输串行数据。
该总线可以将多个I2C设备连接到该系统上。连接到I2C总线上的设备既可以用作主设备,也可以用作从设备。通过对设备进行编址,以及广播的形式进行通信,详情参考链接: IIC详细

主设备负责控制通信,通过对数据传输进行初始化,来发送数据并产生所需的同步时钟脉冲。从设备则是等待来自主设备的命令,并响应命令接收。
主设备和从设备都可以作为发送设备或接收设备。无论主设备是作为发送设备还是接收设备,同步时钟信号都只能由主设备产生。
如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。
SPI串行外设接口
SPI总线是同步、全双工双向的4线式串行接口总线。它是由“单个主设备+多个从设备”构成的系统。

本文介绍了单片机开发中常用的几种串行通信接口,如UART、I2C、RS485、SPI、RS-232、RS-422、CAN、USB和SD卡接口,对比了它们的特点、工作原理和应用场景,还提及了DMA和Ethernet技术在数据传输中的作用。
最低0.47元/天 解锁文章
244

被折叠的 条评论
为什么被折叠?



