當(dāng)前位置:首頁 > 學(xué)習(xí)資源 > 講師博文 > uart協(xié)議
uart協(xié)議
時(shí)間:2025-11-19 來源:華清遠(yuǎn)見
UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)是一種異步串行通信協(xié)議,核心作用是實(shí)現(xiàn)設(shè)備間的低成本、近距離數(shù)據(jù)傳輸,廣泛用于嵌入式系統(tǒng)、工業(yè)控制等場(chǎng)景。
它的核心特點(diǎn)是 “異步”—— 無需時(shí)鐘信號(hào)同步,僅通過兩根數(shù)據(jù)線(TX 發(fā)送、RX 接收)即可完成雙向通信,硬件結(jié)構(gòu)和協(xié)議邏輯都相對(duì)簡單。
一、UART 核心工作原理
數(shù)據(jù)幀結(jié)構(gòu)(協(xié)議核心)UART 數(shù)據(jù)以 “幀” 為單位傳輸,每幀包含固定格式的信號(hào),確保接收方準(zhǔn)確解析,標(biāo)準(zhǔn)幀結(jié)構(gòu)如下(從左到右):
起始位:1 位低電平,標(biāo)志數(shù)據(jù)幀開始(打破空閑時(shí)的高電平狀態(tài),觸發(fā)接收方準(zhǔn)備)。
數(shù)據(jù)位:5-9 位(最常用 8 位),實(shí)際傳輸?shù)亩M(jìn)制數(shù)據(jù)(如 ASCII 碼,8 位可覆蓋 0-255 所有字符)。
校驗(yàn)位(可選):1 位,用于校驗(yàn)數(shù)據(jù)是否傳輸錯(cuò)誤,支持兩種模式:
奇校驗(yàn):數(shù)據(jù)位 + 校驗(yàn)位中 “1” 的總數(shù)為奇數(shù);
偶校驗(yàn):數(shù)據(jù)位 + 校驗(yàn)位中 “1” 的總數(shù)為偶數(shù);
無校驗(yàn):省略校驗(yàn)位(適合傳輸可靠性要求不高的場(chǎng)景,如普通指令)。
停止位:1-2 位高電平,標(biāo)志數(shù)據(jù)幀結(jié)束(接收方通過高電平判斷一幀數(shù)據(jù)完成)。
波特率(通信速率)收發(fā)雙方必須約定相同的 “波特率”(單位:bps,比特 / 秒),即每秒傳輸?shù)亩M(jìn)制位數(shù)(含起始位、校驗(yàn)位、停止位),常見波特率有:9600、19200、38400、115200 bps(115200 為嵌入式開發(fā)常用速率)。
二、UART 硬件連接方式
UART 是 “點(diǎn)對(duì)點(diǎn)” 通信(不支持多設(shè)備共享總線),核心需 3 根線(全雙工,即收發(fā)可同時(shí)進(jìn)行):

三、UART 典型應(yīng)用場(chǎng)景
嵌入式開發(fā):單片機(jī)(如 STM32、51 單片機(jī))與電腦之間的 “串口調(diào)試”(通過 USB 轉(zhuǎn) UART 模塊,輸出日志、發(fā)送指令)。
工業(yè)控制:傳感器(如溫濕度傳感器、GPS 模塊)向控制器(如 PLC)傳輸數(shù)據(jù)(速率要求低,對(duì)可靠性要求中等)。
外設(shè)通信D:打印機(jī)、調(diào)制解調(diào)器(Modem)、藍(lán)牙模塊(經(jīng)典藍(lán)牙的串口透?jìng)髂J剑┡c主機(jī)的低速數(shù)據(jù)交互。
消費(fèi)電子:智能家居設(shè)備(如掃地機(jī)器人、智能插座)的本地調(diào)試或簡單指令傳輸。
四:嵌入式虛擬仿真平臺(tái)中的uart控制器
仿真系統(tǒng)中,UART控制器原理結(jié)構(gòu)圖如下:

基礎(chǔ)串口數(shù)據(jù)收發(fā):
1. 使能時(shí)鐘

2. 配置串口通信協(xié)議
在協(xié)議配置中設(shè)置波特率為“115200”、數(shù)據(jù)位“8位”、奇偶校驗(yàn)“None”、停止位“1位”,并且不啟用硬流控。

3. 串口控制
在串口控制中需要依次將“使能UART時(shí)鐘”、“USART使能(UE)”、“使能發(fā)送器(TE)”、“使能接收器(RE)”勾選上,串口模式選擇“Asynchronous”。

4. 點(diǎn)擊左邊寄存器映射下的“運(yùn)行”按鈕,開始仿真

在虛擬仿真系統(tǒng)中,模擬了一個(gè)虛擬透?jìng)鞔,?shù)據(jù)流向的基本過程為,UART控制器給虛擬透?jìng)鞔诎l(fā)送數(shù)據(jù),然后透?jìng)鞔趯⒔邮盏降臄?shù)據(jù),再發(fā)送給UART控制器,所以UART會(huì)接收到同樣的數(shù)據(jù)。點(diǎn)擊“寫入”,將內(nèi)存中的數(shù)據(jù)寫入到發(fā)送數(shù)據(jù)寄存器(TDR)中,當(dāng)數(shù)據(jù)從內(nèi)存寫入到發(fā)送數(shù)據(jù)寄存器(TDR)之后,TDR中的數(shù)據(jù)會(huì)自動(dòng)并行傳輸?shù)桨l(fā)送位移寄存器中,然后數(shù)據(jù)會(huì)通過發(fā)送位移寄存器,按照LSB的方式將數(shù)據(jù)一位一位的從Tx引腳移出
如仿真系統(tǒng)中的動(dòng)畫所示:發(fā)送位移寄存器,按照LSB的方式將數(shù)據(jù)一位一位的從Tx引腳發(fā)出。

可以發(fā)現(xiàn),當(dāng)內(nèi)存數(shù)據(jù)被寫入到發(fā)送數(shù)據(jù)寄存器(TDR)后,USART_SR寄存器中的TXE位被控制器清0,串口狀態(tài)欄下的TXE位變成N,說明發(fā)送數(shù)據(jù)寄存器不為空,有待發(fā)送的數(shù)據(jù)
實(shí)際應(yīng)用中,TXE位即可作為數(shù)據(jù)寫到TDR寄存器時(shí)機(jī)標(biāo)志位,當(dāng)TXE被控制器置1時(shí),則表明可以往TDR寄存器中寫入下一次需要發(fā)送的數(shù)據(jù)。
課程分享:華清遠(yuǎn)見聯(lián)合NXP推出i.MX8M Plus開發(fā)與實(shí)踐
課程分享:鴻蒙HarmonyOS系統(tǒng)及物聯(lián)網(wǎng)開發(fā)實(shí)戰(zhàn)課程(
課程分享:HaaS EDU K1開發(fā)教程(附課程視頻及源碼下
新版C語言編程之控制語句視頻教程重磅贈(zèng)送(嵌入式入
價(jià)值2000元的嵌入式精裝教程大禮包免費(fèi)送!(搞懂嵌入
價(jià)值1000元的最新ARM系列視頻完整版教程新鮮出爐(免
【最新】ARM課程課堂實(shí)錄精華版視頻免費(fèi)領(lǐng)取(內(nèi)含源
嵌入式工程師技術(shù)面試有哪些注意事項(xiàng)
uart協(xié)議
嵌入式必學(xué)8大數(shù)據(jù)結(jié)構(gòu)(C語言)
深度講解AI大模型原理,它到底是如何工作的
什么是人工智能神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)模型的壓縮與量化技術(shù)
嵌入式設(shè)備的外設(shè)驅(qū)動(dòng)優(yōu)化
嵌入式系統(tǒng)中定時(shí)器的應(yīng)用實(shí)例
強(qiáng)化學(xué)習(xí)中的獎(jiǎng)勵(lì)設(shè)計(jì)技巧
嵌入式設(shè)備低功耗模式切換技巧詳解
