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

寄存器配置

串口寄存器

SCON
PCON

串口初始化

相关推荐
威嵌神州16 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
少司府1 天前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
shimly1234561 天前
(done) 嵌入式硬件电路图 (8) 获取芯片手册信息
嵌入式硬件
Zwawa1 天前
让屏幕动起来:OLED动画效果,丝滑光标、帧动画和一只贪吃蛇
c语言·单片机·嵌入式
简单电磁炮1 天前
FWD八位单片机调试问题
单片机·嵌入式硬件
shimly1234561 天前
(done) 嵌入式硬件电路图 (6) 重要的元器件特性之MOS管
嵌入式硬件
菥蓂寻生2 天前
STM32移植到GD32中以105为例
stm32·单片机·嵌入式硬件
橘为己有4412 天前
51单片机:定时/计数器
单片机·51单片机
杯子不吃紫菜2 天前
LangGraph 体系实战(下):中断恢复、流式、子图与设计模式
单片机·嵌入式硬件·设计模式
qq_448011162 天前
中断服务函数简介
嵌入式硬件