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

【android bluetooth 协议分析 02】【bluetooth hal 层详解 1】【uart 介绍】

一、什么是 UART?

UART(Universal Asynchronous Receiver/Transmitter) 是一种 串行通信协议,它的特点是通信时不需要专门的时钟信号(叫做“异步”通信),常用于两个设备之间的简单数据通信,比如:

  • 单片机 <-------------> 传感器

  • 开发板 <-------------> 电脑

  • 蓝牙模块 <-------------> MCU


二、UART 的核心硬件信号线有哪些?

信号线全称作用
TXTransmit(发送)把自己数据“发出去”
RXReceive(接收)接收对方发来的数据
RTSRequest To Send(请求发送)(输出端)告诉对方:“我准备好接收了,你可以发!”
CTSClear To Send(可以发送)(输入端)对方回应:“我准备好了,你可以发!”

三、用对话打比方来理解这些信号:

假设你和朋友用对讲机聊天,你就是设备A,你朋友是设备B。

最基本的两条线:TX 和 RX

  • 你说话 = TX

  • 你听对方说话 = RX

所以,A 的 TX 要连到 B 的 RX,B 的 TX 要连到 A 的 RX(交叉连接):

A: TX -----> RX :B 
A: RX <----- TX :B

加上礼貌对话:RTS 和 CTS

当两个人说话都很快、信息很多的时候,就可能“说太多听不过来”,这时候就需要**“打招呼”和“确认”机制**,也就是 RTS/CTS。

A 想发数据给 B 的流程:
  1. A 拉低 RTS(Request To Send) => 告诉 B:“我准备发数据了,可以吗?”

  2. B 检查自己的情况,发现自己可以接收,于是拉低自己的RTS, 也就是对应A的 CTS(Clear To Send)=> 回复 A:“可以,你发吧!”

  3. A 开始通过 TX 发数据,B 用 RX 收

这个过程就叫做 硬件流控(Hardware Flow Control),防止数据丢失或对方来不及接收。


四、总结图示:

在这里插入图片描述

五、实际应用场景举例

  1. 简单场合(比如开发板 <—> 串口调试工具)

    • 通常只用 TX、RX、GND 三根线。

    • 比如你用 USB-TTL 模块和串口调试助手通信。

  2. 可靠传输(比如 GSM 模块、蓝牙模块等)

    • 会用到 RTS/CTS,防止串口缓存溢出,数据丢失。
  3. 带流控的通信

    • 比如你和一个大容量数据设备通信(像 GPS、WIFI 模块等),建议打开 RTS/CTS 硬件流控.

六、额外一根线:GND(地线)

千万别忘了,通信的两个设备必须共地! 否则收发信号没有参考电平,可能根本收不到数据。

相关文章:

  • 【病毒分析】定向财务的钓鱼木马分析
  • 过滤器及拦截器
  • 一文掌握RK3568开发板Android13挂载Windows共享目录
  • C++Cherno 学习笔记day21 [86]-[90] 持续集成、静态分析、参数计算顺序、移动语义、stdmove与移动赋值操作符
  • 蓝桥杯 8. 分巧克力
  • oracle判断同表同条件查出两条数据,根据长短判断差异
  • leetcode_344.反转字符串_java
  • CS5346 - CHARTS: Chart with Point / Bar / Line / Box
  • matlab中simulink的快捷使用方法
  • 用友U8在参照生产订单界面显示各个仓别的可用量
  • 机器学习03——K近邻
  • 【漫话机器学习系列】204.不确定性的来源(Sources Of Uncertainty)
  • 算力狂飙时代:解码2024年上海及周边区域IDC市场的三重构局
  • 神经网络模型应用到机器学习时的难点
  • 4.16学习总结
  • 数据中台(大数据平台)之数据资源目录
  • Redisson分布式锁深度解析:原理、源码与最佳实践
  • DAY09:【pytorch】nn网络层
  • Spring Boot 整合 Redis 实现点赞功能:从基础到实践
  • 2000-2017年各省原油消费量数据
  • 租用网站服务器价格/百度指数人群画像
  • 承德网站建设费用/计算机培训机构哪个最好
  • 专门做网站的公司/广西南宁做网站的公司
  • 个人做网站需要备案吗/网页模板建站系统
  • wordpress文章长/seo网站运营
  • 特效型网站/百度大数据分析工具