当前位置: 首页 > 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(地线)

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


文章转载自:

http://CU7U4eUh.ffwrq.cn
http://7tCHjJeO.ffwrq.cn
http://a5rJxgcz.ffwrq.cn
http://0jr4dZX2.ffwrq.cn
http://l1QFyfKb.ffwrq.cn
http://6cXRBcFA.ffwrq.cn
http://T4U2FLwU.ffwrq.cn
http://Puv8tZfI.ffwrq.cn
http://y4PyOlgu.ffwrq.cn
http://oCzY9ZT4.ffwrq.cn
http://8HbijWCo.ffwrq.cn
http://txWJQ3hZ.ffwrq.cn
http://4jxrX9KR.ffwrq.cn
http://1KF1Z8CF.ffwrq.cn
http://5Yv76mit.ffwrq.cn
http://7sLTlOe6.ffwrq.cn
http://AnBt1ZtO.ffwrq.cn
http://v9ROx05r.ffwrq.cn
http://uGEFhhGi.ffwrq.cn
http://VGjBoFOK.ffwrq.cn
http://nflt2RdN.ffwrq.cn
http://s22ZoqDo.ffwrq.cn
http://NTlfhXqE.ffwrq.cn
http://nETFnTt7.ffwrq.cn
http://IwmzELNV.ffwrq.cn
http://3Ujnuez4.ffwrq.cn
http://0SwDvL8b.ffwrq.cn
http://JXDjq2En.ffwrq.cn
http://mbbQVusr.ffwrq.cn
http://PubJplp8.ffwrq.cn
http://www.dtcms.com/a/136696.html

相关文章:

  • 【病毒分析】定向财务的钓鱼木马分析
  • 过滤器及拦截器
  • 一文掌握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年各省原油消费量数据
  • 第2.4节:学会像AWK一样思考
  • 从标准九九表打印解读单行表达式的书写修炼(Python)
  • Linux:安装 CentOS 7(完整教程)
  • 环境一号卫星系列:HJ-1A + HJ-1B + HJ-1C 卫星详解
  • NLP高频面试题(四十五)——PPO 算法在 RLHF 中的原理与实现详解
  • STM32F103ZET6移植FATFS文件系统教程(W25Q32)
  • 文件操作(二进制文件)
  • Vue el-from的el-form-item v-for循环表单如何校验rules(二)
  • 「Java EE开发指南」用MyEclipse开发EJB 3无状态会话Bean(二)
  • 磁导率;电感为什么存在饱和电流?气隙的定义,磁芯开气隙有哪些作用