当前位置: 首页 > news >正文

通信协议之串口

文章目录

  • 简介
  • 电平标准
  • 串口参数及时序
  • USART与UART
  • 过程
  • 引脚配置

简介

  • 点对点,只能两设备通信
  • 只需单向的数据传输时,可以只接一根通信线
  • 当电平标准不一致时,需要加电平转换芯片(一般从控制器出来的是信号是TTL电平)
  • 地位先行
  • 半双工

电平标准

TTL电平:+3.3V或+5V表示1,0V表示0
RS232电平:-3~-15V表示1,+3~+15V表示0
RS485电平:两线压差+2~+6V表示1,-2~-6V表示0(差分信号)

串口参数及时序

波特率:串口通信的速率
起始位:标志一个数据帧的开始,固定为低电平
数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行
校验位:用于数据验证,根据数据位计算得来(奇检验:包括检验位在内的9个数据的1是奇数个)
停止位:用于数据帧间隔,,固定为高电平,空闲时也为高电平,长度0.5,1,1.5,2常用1
字长:8位和9位,一般是8位无校验和9位有校验

  • 无检验
    在这里插入图片描述
  • 有校验在这里插入图片描述

USART与UART

USART (Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步收发器
UART是异步
串口一般很少用同步功能

过程

  • 发送:先到发送数据寄存器(TDR),再到发送移位寄存器,把一个字节的数据一位一位地向右移出去(低位先行)
    • 当发送时,数据先在TDR,检测发送移位寄存器是否非空,空则将数据移动到发送移位寄存器,再置标志位TXE(TX Empty),发送寄存器空,若该标志位置1(数据还没发送出去,只是在发送移位寄存器中),就可以向TDR写入下一个数据了
  • 接收:先到接收移位寄存器,把发过来的位一位一位接收,再到接收数据寄存器(RDR)
    • 过程与上面类似,RDR有数据置标志位RXNE,置1就可以把数据读走

引脚配置

  • TX引脚:复用推挽
  • RX:浮空或上拉输入

http://www.mrgr.cn/news/96403.html

相关文章:

  • Java - 2. 面向对象编程
  • openwrt24.10.0版本上安装istoreOS的屏幕监控插件
  • SpringBoot (一) 自动配置原理
  • pyinstaller 对 pyexecjs模块打包老会有终端框闪烁
  • MySQL多表查询实验
  • GHCTF-web-wp
  • Linux进程管理之子进程的创建(fork函数)、子进程与线程的区别、fork函数的简单使用例子、子进程的典型应用场景、父进程等待子进程结束后自己再结束
  • PwnMe CTF 2025 web
  • 高等数学-第七版-上册 选做记录 习题7-4
  • python学习笔记(3)——元组
  • 网络华为HCIA+HCIP 策略路由,双点双向
  • 【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft 服务器搭建,并实现远程联机,详细教程
  • docker启动nacos+redis+seata
  • IO模型之于并发编程模型、并发模型之于架构模式
  • 【SPP】蓝牙串口协议(SPP)深度解析:从 RS232 仿真到设备互联的技术实现
  • [GXYCTF2019]禁止套娃1 [GitHack] [无参数RCE]
  • FPGA调试笔记
  • docker部署mongodb数据库
  • 【HC-05蓝牙模块】主要性能指标与通信基础知识
  • 【Git教程】将dev分支合并到master后,那么dev分支该如何处理