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

单片机UART协议相关知识

概念

UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)

是一种 异步 串行 全双工 通信协议,用于设备一对一进行数据传输,只需要两根线(TX,RX)。

异步:通信双方不需要一根时钟线(CLK)。

串行:数据在一根信号线上一bit一bit传送出去。

全双工:在任何时刻,数据既能在设备1传到设备2,又能在设备2同时传到设备1。

全双工案例:电话;半双工案例:对讲机。

帧格式

  • 起始位:表示数据传输的开始,通常为一个低电平信号。
  • 数据位:传输实际数据,常见的数据位长度为7位或8位。
  • 奇偶校验位:用于错误检测,可以是奇校验、偶校验或无校验。
  • 停止位:表示数据传输的结束,通常为一个或两个高电平信号

小端字节序( 英文:little endian),最小单位为 字节,串口通信是按位发送的

波特率

波特率是衡量数据传输速率的单位,表示每秒传输的符号数。

  • 高波特率:数据传输速度快,但可能增加错误率。
  • 低波特率:数据传输速度慢,但错误率较低。

那数据是怎么样的呢?

这边串口发送一个 'a'  ,波特率设置为115200,一个bit大概为8.6us。

从左往右看,

第一个低电平(9us),为起始位

后面则是 1000 0110   ——>  0110 0001 ,倒过来正好是 ASCII 的 'a' 的二进制数

如果这边连续发送 aa 呢?如下图

http://www.lryc.cn/news/488953.html

相关文章:

  • 【操作系统不挂科】<CPU调度(13)>选择题(带答案与解析)
  • OpenCV笔记:图像去噪对比
  • A-B数对(二分查找)
  • Vue 的各个生命周期
  • 实现简易计算器 网格布局 QT环境 纯代码C++实现
  • 后端开发详细学习框架与路线
  • 2.langchain中的prompt模板 (FewShotPromptTemplate)
  • FairGuard游戏加固实机演示
  • Spark使用过程中的 15 个常见问题、详细解决方案
  • 算法【最长递增子序列问题与扩展】
  • k8s篇之flannel网络模型详解
  • windows 和 linux检查操作系统基本信息
  • Oracle OCP认证考试考点详解082系列22
  • 线性回归 - 最小二乘法
  • Linux - 线程基础
  • 网络爬虫——分布式爬虫架构
  • RT_Thread内核源码分析(三)——线程
  • 正排索引和倒排索引
  • 丹摩 | 重返丹摩(上)
  • Frontend - 防止多次请求,避免重复请求
  • RHCE的学习(22)
  • 【前端知识】简单讲讲什么是微前端
  • AWS IAM
  • 丹摩|丹摩助力selenium实现大麦网抢票
  • 基于Qt/C++/Opencv实现的一个视频中二维码解析软件
  • 智慧理财项目测试文档
  • R | 统一栅格数据的坐标系、分辨率和行列号
  • C++学习——编译的过程
  • 当你要改文件 但是原来的文件内容又不能丢失的时候,拷贝一份(备注原来的),然后添加后缀:.bak
  • MATLAB神经网络(五)——R-CNN视觉检测