【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://www.pswp.cn/web/76014.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76014.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76014.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

天元證券|奶粉行業結構性回暖 乳企競速全齡化、國際化

在過去幾年中&#xff0c;中國嬰配粉市場經歷了量價齊增&#xff0c;量減價增&#xff0c;量減價減的三個周期。歷經多年行業深度洗牌與競爭格局重塑&#xff0c;2024年中國嬰配粉市場回暖態勢愈發清晰可辨。 日前&#xff0c;包括中國飛鶴、澳優、健合集團在內的多家奶粉股披露…

第3.1節 調用鏈路分析簡介

調用鏈路&#xff08;Call Chain / Call Path&#xff09; 是程序在執行過程中&#xff0c;按照調用順序形成的函數、模塊或組件之間的依賴關系鏈條&#xff0c;完整記錄了從程序入口到當前執行點的動態調用路徑。它反映了代碼執行的邏輯流程&#xff0c;是分析程序行為、調試問…

System.Security.Cryptography.CryptographicException“填充無效,無法被移除。”

這個異常通常發生在以下幾種情況&#xff1a; 1.密文損壞&#xff1a;密文在傳輸或存儲過程中被篡改或損壞。 2.密鑰不匹配&#xff1a;用于解密的密鑰與加密時使用的密鑰不同。 3.填充模式不匹配&#xff1a;加密時使用的填充模式與解密時指定的填充模式不一致。 4.使用了不正…

【網絡入侵檢測】Suricata之數據包內容匹配

【作者主頁】只道當時是尋常 【專欄介紹】入侵檢測。專注網絡、主機安全&#xff0c;歡迎關注與評論。 1. 概要 本文詳細介紹了網絡入侵檢測系統&#xff08;如 Suricata&#xff09;中用于檢查數據包或流有效載荷的 Payload 關鍵字。content 用于匹配數據包內容&#xff0c;默…

Spring Boot 整合 Redis 實現點贊功能:從基礎到實踐

在當今互聯網應用開發中&#xff0c;點贊功能幾乎成為了各類內容平臺的標配。它不僅能增加用戶與內容之間的互動&#xff0c;還能直觀地反映內容的受歡迎程度。本文將詳細介紹如何使用 Spring Boot 整合 Redis 來實現一個簡單的文章點贊功能&#xff0c;讓你輕松掌握這一實用技…

openGauss DataVec + Dify,快速搭建你的智能助手平臺

在當今數字化和智能化的時代&#xff0c;大語言模型&#xff08;LLM&#xff09;的應用正以前所未有的速度改變著各個領域的工作方式和用戶體驗。Dify 作為一個開源的大語言模型應用開發平臺&#xff0c;為開發者們提供了便捷且強大的工具&#xff0c;助力構建從基礎智能體到復…

OpenLayers:extent與view extent 介紹

一、范圍的概念 1.什么是范圍&#xff1f; 在Openlayers中范圍&#xff08;Extent&#xff09;是用于表示地理空間區域的一種概念。它通常由一個數字數組構成&#xff0c;數組中的內容為&#xff1a;[最小x坐標&#xff0c;最小y坐標&#xff0c;最大x坐標&#xff0c;最大y坐…

can‘t set boot order in virtualbox

Boot order setting is ignored if UEFI is enabled https://forums.virtualbox.org/viewtopic.php?t99121 如果勾選EFI boot order就是灰色的 傳統BIOS就是可選的 然后選中任意介質&#xff0c;通過右邊的上下箭頭調節順序&#xff0c;最上面的應該是優先級最高的 然后就…

如何在 Kali 上解決使用 evil-winrm 時 Ruby Reline 的 quoting_detection_proc 警告

在使用 Kali Linux 運行 Ruby 工具&#xff08;例如 evil-winrm&#xff09;時&#xff0c;你可能會遇到以下警告&#xff1a; Warning: Remote path completions is disabled due to ruby limitation: undefined method quoting_detection_proc for module Reline這個警告會導…

工資管理系統的主要功能有哪些

工資管理系統通過自動化薪資計算、稅務處理、員工數據管理、報表生成等功能&#xff0c;極大地提升了薪資發放的效率和準確性。在傳統的人工薪資管理中&#xff0c;HR人員需要手動計算每位員工的薪資&#xff0c;并確保符合稅務要求&#xff0c;極易出錯且耗時。而現代工資管理…

C++語言程序設計——02 變量與數據類型

目錄 一、變量與數據類型&#xff08;一&#xff09;變量的數據類型&#xff08;二&#xff09;變量命名規則&#xff08;三&#xff09;定義變量&#xff08;四&#xff09;變量賦值&#xff08;五&#xff09;查看數據類型&#xff08;六&#xff09;數據類型的字節長度&…

咋用fliki的AI生成各類視頻?AI生成視頻教程

最近想制作視頻&#xff0c;多方考查了決定用fliki&#xff0c;于是訂閱了一年試試&#xff0c;這個AI生成的視頻效果來看真是不錯&#xff0c;感興趣的自己官網注冊個賬號體驗一下就知道了。 fliki官網 Fliki生成視頻教程 創建賬戶并登錄 首先&#xff0c;訪問fliki官網并注…

文章記單詞 | 第32篇(六級)

一&#xff0c;單詞釋義 inferior [?n?f??ri?(r)] adj. 較差的&#xff1b;次的&#xff1b;下級的&#xff1b;n. 下屬&#xff1b;次品joy [d???] n. 歡樂&#xff1b;喜悅&#xff1b;樂趣&#xff1b;樂事&#xff1b;v. 因… 而高興resemble [r??zembl] vt. 類…

windows上安裝Jenkins

1. 下載windows版 jenkins安裝包 2. 配置本地安全策略 在 Windows 11/10 上打開本地安全策略。 Secpol.msc 或本地安全策略編輯器是一個 Windows 管理工具&#xff0c;允許您在本地計算機上配置和管理與安全相關的策略。 安全設置-》本地策略-》用戶權限分配-》作為服務登錄…

dfs二叉樹中的深搜(回溯、剪枝)--力扣129、814、230、257

目錄 1.1題目鏈接&#xff1a;129.求根節點到葉結點數字之和 1.2題目描述&#xff1a;給你一個二叉樹的根節點 root &#xff0c;樹中每個節點都存放有一個 0 到 9 之間的數字。 1.3解法(dfs-前序遍歷)&#xff1a; 2.1題目鏈接&#xff1a;814.二叉樹剪枝 2.2題目描述&…

【樹形dp題解】dfs的巧妙應用

【樹形dp題解】dfs的巧妙應用 [P2986 USACO10MAR] Great Cow Gathering G - 洛谷 題目大意&#xff1a; Bessie 正在計劃一年一度的奶牛大集會&#xff0c;來自全國各地的奶牛將來參加這一次集會。當然&#xff0c;她會選擇最方便的地點來舉辦這次集會。 每個奶牛居住在 N N …

【c++深入系列】:new和delete運算符詳解

&#x1f525; 本文專欄&#xff1a;c &#x1f338;作者主頁&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客勵志語錄&#xff1a; “生活不會向你許諾什么&#xff0c;尤其不會向你許諾成功。它只會給你掙扎、痛苦和煎熬的過程。但只要你堅持下去&#xff0c;終有一天&…

Spring Boot 實現防盜鏈

在 Spring Boot 項目中實現防盜鏈可以通過多種方式&#xff0c;下面為你介紹兩種常見的實現方法&#xff0c;分別是基于請求頭 Referer 和基于令牌&#xff08;Token&#xff09;的防盜鏈。 基于請求頭 Referer 的防盜鏈 這種方法通過檢查請求頭中的 Referer 字段&#xff0c…

悄悄話識別、 打電話識別、攀高識別三種識別算法

在攝像頭正對場景下,悄悄話識別(唇語識別)、打電話識別和攀高識別是三種典型的行為檢測技術。以下從技術原理、算法模型、應用場景及挑戰等方面進行詳細分析: 一、悄悄話識別(唇語識別) 技術原理 唇語識別通過分析嘴唇的幾何特征(形狀、開合程度、運動軌跡)和動態變化…

centos部署的openstack發布windows虛擬機

?CentOS上部署的OpenStack可以發布Windows虛擬機?。在CentOS上部署OpenStack后&#xff0c;可以通過OpenStack平臺創建和管理Windows虛擬機。以下是具體的步驟和注意事項&#xff1a; ?安裝和配置OpenStack?&#xff1a; 首先&#xff0c;確保系統滿足OpenStack的最低硬件…