51单片机--通信/串口
通信协议
UART(异步)、I2C(同步)、SPI(同步)、ADC、GPIO
UART:Univesal Async Recvie Transmit,通用异步收发器,可以实现与外界设备进行异步
通信全双工、串行、异步
通信方式
单工通信
(1)数据的发送方和接收方是固定的
(2)数据传输是通过一根信号线完成,数据传输的方向是单一的
半双工通信(I2C)
(1)通信双方既可以作为数据的发送方,也可以作为数据的接收方
(2)数据传输是通过一根信号线完成,数据传输的方向可以是双向的
(3)在同一时刻,数据传输只能是单向的
全双工通信
(1)通信双方即可以作为数据的发送方,也可以作为数据的接收发
(2)数据传输是通过两根信号线完成,数据传输的方向是双向的
数据传输
传输顺序
LSB先行原则,先发送数据低位
传输形式
串行传输:通过一根信号线传输数据,按照先后次序逐个bit逐个bit发送数据
并行传输:通过多根信号线同时去传输数据
传输特点
串行:
(1)传输速率慢
(2)硬件成本低,实现简单
(3)传输距离远,抗干扰性好(RS485 1200米 双绞线)
并行:
(1)传输速率快
(2)硬件成本高,实现复杂
(3)传输距离近,抗干扰性差(30米以内)
串口通信
串口通信时序
1.先发送一个bit的低电平,代表起始位
2.再发送8个bit的数据位(先发送数据低位,再发送高位)
3.发送一个bit的校验位(奇偶校验 高电平 奇校验 低电平 偶校验)
4.发送一个bit的电平,代表停止位,表示串口通信结束
奇偶校验
奇校验:校验位是'1',用数据位中'1'的个数加上校验位的'1',如果'1'的个数是奇数个,代表奇校验通过
偶校验:校验位是'0',用数据位中的'1'的个数加上校验位的'0',如果的'1'的个数是偶数, 代表偶校验通过
通信参数
波特率:bps(bit per second),每秒钟传输bit的数量,常见的波特率:2400,4800, 9600,115200
数据位: 8,串口传输通常8bit数据位传输
停止位: 1,1bit停止位
校验位: None,N,无校验 Even,E,偶校验 Odd,O,奇校验
通信方式
同步: 通信的双方有一根共享的时钟线来约定通信的频率(同步发送数据/接收数据)
SCL:时钟线 SDA:数据线
异步: 通信双方没有时钟线进行同步,如uart可以通过设置波特率来实现同步(发2400bps 收:2400bps)
CH340:电平转换芯片,将串口电平(TTL电平)转换为USB电平
TTL电平:高电平(1):3.3V 5V低电平(0):0V
RS232电平(负逻辑):高电平(1):-3V - -15V低电平(0):3V - 15V MAX232芯片
RS485电平(差分):高电平(1):2V - 6V低电平(0) :-6V - -2V
