chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

第二十四章 通用同步異步收發(fā)器(USART)

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-05-29 15:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網(wǎng)單片機

W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內(nèi)置MAC以及PHY,擁有獨立的32KB以太網(wǎng)收發(fā)緩存,可供8個獨立硬件socket使用。如此配置,真正實現(xiàn)了All-in-One解決方案,為開發(fā)者提供極大便利。

在封裝規(guī)格上,W55MH32 提供了兩種選擇:QFN68和QFN100。

W55MH32Q采用QFN68封裝版本,尺寸為8x8mm,它擁有36個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、3個串口、2個SPI接口(其中1個帶I2S接口復(fù)用)、1個CAN以及1個USB2.0。在保持與同系列其他版本一致的核心性能基礎(chǔ)上,僅減少了部分GPIO以及SDIO接口,其他參數(shù)保持一致,性價比優(yōu)勢顯著,尤其適合網(wǎng)關(guān)模組等對空間布局要求較高的場景。緊湊的尺寸和精簡化外設(shè)配置,使其能夠在有限空間內(nèi)實現(xiàn)高效的網(wǎng)絡(luò)連接與數(shù)據(jù)交互,成為物聯(lián)網(wǎng)網(wǎng)關(guān)、邊緣計算節(jié)點等緊湊型設(shè)備的理想選擇。 同系列還有QFN100封裝的W55MH32L版本,該版本擁有更豐富的外設(shè)資源,適用于需要多接口擴展的復(fù)雜工控場景,軟件使用方法一致。更多信息和資料請進入http://www.w5500.com/網(wǎng)站或者私信獲取。

此外,本W(wǎng)55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應(yīng)用,涵蓋TCP SSL、HTTP SSL以及MQTT SSL等,為網(wǎng)絡(luò)通信安全再添保障。

為助力開發(fā)者快速上手與深入開發(fā),基于W55MH32Q這顆芯片,WIZnet精心打造了配套開發(fā)板。開發(fā)板集成WIZ-Link芯片,借助一根USB C口數(shù)據(jù)線,就能輕松實現(xiàn)調(diào)試、下載以及串口打印日志等功能。開發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開發(fā)者全面評估芯片性能。

若您想獲取芯片和開發(fā)板的更多詳細(xì)信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價格等,歡迎訪問官方網(wǎng)頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

wKgZO2gbOfaAVPzkACJSygzv-rI600.png

第二十四章 通用同步異步收發(fā)器(USART)

1 USART 介紹

通用同步異步收發(fā)器(USART)提供了一種靈活的方法與使用工業(yè)標(biāo)準(zhǔn) NRZ 異步串行數(shù)據(jù)格式的外部設(shè)備之間進行全雙工數(shù)據(jù)交換。USART 利用分?jǐn)?shù)波特率發(fā)生器提供寬范圍的波特率選擇。

它支持同步單向通信和半雙工單線通信,也支持 LIN(局部互連網(wǎng)),智能卡協(xié)議和 IrDA(紅外數(shù)據(jù)組織)SIRENDEC 規(guī)范,以及調(diào)制解調(diào)器(CTS/RTS)操作。它還允許多處理器通信。使用多緩沖器配置的 DMA 方式,可以實現(xiàn)高速數(shù)據(jù)通信。

2 USART 主要特性

W55MH32的USART的主要特性有:

?全雙工的,異步通信

?NRZ 標(biāo)準(zhǔn)格式

?分?jǐn)?shù)波特率發(fā)生器系統(tǒng)

······發(fā)送和接收共用的可編程波特率,最高達 4.5Mbits/s

?可編程數(shù)據(jù)字長度(8 位或 9 位)

?可配置的停止位-支持 1 或 2 個停止位

?LIN 主發(fā)送同步斷開符的能力以及 LIN 從檢測斷開符的能力

······當(dāng) USART 硬件配置成 LIN 時,生成 13 位斷開符;檢測 10/11 位斷開符

?發(fā)送方為同步傳輸提供時鐘

?IRDASIR 編碼器解碼器

······在正常模式下支持 3/16 位的持續(xù)時間

?智能卡模擬功能

······智能卡接口支持 ISO7816-3 標(biāo)準(zhǔn)里定義的異步智能卡協(xié)議

······智能卡用到的 0.5 和 1.5 個停止位

?單線半雙工通信

?可配置的使用 DMA 的多緩沖器通信

······在 SRAM 里利用集中式 DMA 緩沖接收/發(fā)送字節(jié)

?單獨的發(fā)送器和接收器使能位

?檢測標(biāo)志

······接收緩沖器滿

······發(fā)送緩沖器空

······傳輸結(jié)束標(biāo)志

?校驗控制

······發(fā)送校驗位

······對接收數(shù)據(jù)進行校驗

?四個錯誤檢測標(biāo)志

······溢出錯誤

······噪音錯誤

······幀錯誤

······校驗錯誤

?10 個帶標(biāo)志的中斷源

······CTS 改變

······LIN 斷開符檢測

······發(fā)送數(shù)據(jù)寄存器

······發(fā)送完成

······接收數(shù)據(jù)寄存器滿

······檢測到總線為空閑

······溢出錯誤

······幀錯誤

······噪音錯誤

······校驗錯誤

?多處理器通信--如果地址不匹配,則進入靜默模式

?從靜默模式中喚醒(通過空閑總線檢測或地址標(biāo)志檢測)

?兩種喚醒接收器的方式:地址位(MSB,第 9 位),總線空閑

3 USART 功能概述

接口通過三個引腳與其他設(shè)備連接在一起(見圖 249)。任何 USART 雙向通信至少需要兩個腳:接收數(shù)據(jù)輸入(RX)和發(fā)送數(shù)據(jù)輸出(TX)。

RX:接收數(shù)據(jù)串行輸。通過過采樣技術(shù)來區(qū)別數(shù)據(jù)和噪音,從而恢復(fù)數(shù)據(jù)。

TX:發(fā)送數(shù)據(jù)輸出。當(dāng)發(fā)送器被禁止時,輸出引腳恢復(fù)到它的 I/O 端口配置。當(dāng)發(fā)送器被激活,并且不發(fā)送數(shù)據(jù)時,TX 引腳處于高電平。在單線和智能卡模式里,此 I/O 口被同時用于數(shù)據(jù)的發(fā)送和接收。

?總線在發(fā)送或接收前應(yīng)處于空閑狀態(tài)

?一個起始位

?一個數(shù)據(jù)字(8 或 9 位),最低有效位在前

?0.5,1.5,2 個的停止位,由此表明數(shù)據(jù)幀的結(jié)束

?使用分?jǐn)?shù)波特率發(fā)生器——12 位整數(shù)和 4 位小數(shù)的表示方法。

?一個狀態(tài)寄存器(USART_SR)

?數(shù)據(jù)寄存器(USART_DR)

?一個波特率寄存器(USART_BRR),12 位的整數(shù)和 4 位小數(shù)

?一個智能卡模式下的保護時間寄存器(USART_GTPR)

關(guān)于以上寄存器中每個位的具體定義,請參考寄存器描述第 23.6 節(jié):USART 寄存器描述。在同步模式中需要下列引腳:

?CK:發(fā)送器時鐘輸出。此引腳輸出用于同步傳輸?shù)臅r鐘,(在 Start 位和 Stop 位上沒有時鐘脈沖,軟件可選地,可以在最后一個數(shù)據(jù)位送出一個時鐘脈沖)。數(shù)據(jù)可以在 RX 上同步被接收。

這可以用來控制帶有移位寄存器的外部設(shè)備(例如 LCD 驅(qū)動器)。時鐘相位和極性都是軟件可編程的。在智能卡模式里,CK 可以為智能卡提供時鐘。在 IrDA 模式里需要下列引腳:

?IrDA_RDI:IrDA 模式下的數(shù)據(jù)輸入。

?IrDA_TDO:IrDA 模式下的數(shù)據(jù)輸出。下列引腳在硬件流控模式中需要:

接口通過三個引腳與其他設(shè)備連接在一起(見圖 249)。任何 USART 雙向通信至少需要兩個腳:接收數(shù)據(jù)輸入(RX)和發(fā)送數(shù)據(jù)輸出(TX)。

RX:接收數(shù)據(jù)串行輸。通過過采樣技術(shù)來區(qū)別數(shù)據(jù)和噪音,從而恢復(fù)數(shù)據(jù)。

TX:發(fā)送數(shù)據(jù)輸出。當(dāng)發(fā)送器被禁止時,輸出引腳恢復(fù)到它的 I/O 端口配置。當(dāng)發(fā)送器被激活,并且不發(fā)送數(shù)據(jù)時,TX 引腳處于高電平。在單線和智能卡模式里,此 I/O 口被同時用于數(shù)據(jù)的發(fā)送和接收。

總線在發(fā)送或接收前應(yīng)處于空閑狀態(tài)

?一個起始位

?一個數(shù)據(jù)字(8 或 9 位),最低有效位在前

?0.5,1.5,2 個的停止位,由此表明數(shù)據(jù)幀的結(jié)束

?使用分?jǐn)?shù)波特率發(fā)生器——12 位整數(shù)和 4 位小數(shù)的表示方法。

?一個狀態(tài)寄存器(USART_SR)

?數(shù)據(jù)寄存器(USART_DR)

?一個波特率寄存器(USART_BRR),12 位的整數(shù)和 4 位小數(shù)

?一個智能卡模式下的保護時間寄存器(USART_GTPR)

關(guān)于以上寄存器中每個位的具體定義,請參考寄存器描述第 23.6 節(jié):USART 寄存器描述。在同步模式中需要下列引腳:

?CK:發(fā)送器時鐘輸出。此引腳輸出用于同步傳輸?shù)臅r鐘,(在 Start 位和 Stop 位上沒有時鐘脈沖,軟件可選地,可以在最后一個數(shù)據(jù)位送出一個時鐘脈沖)。數(shù)據(jù)可以在 RX 上同步被接收。這可以用來控制帶有移位寄存器的外部設(shè)備(例如 LCD 驅(qū)動器)。時鐘相位和極性都是軟件可編程的。在智能卡模式里,CK 可以為智能卡提供時鐘。在 IrDA 模式里需要下列引腳:

?IrDA_RDI:IrDA 模式下的數(shù)據(jù)輸入。

?IrDA_TDO:IrDA 模式下的數(shù)據(jù)輸出。下列引腳在硬件流控模式中需要:

wKgZPGgu7qOATfUlAASgN0Ir5xk640.png

USART 框圖

3.1 USART 特性描述

字長可以通過編程 USART_CR1 寄存器中的 M 位,選擇成 8 或 9 位(見圖 230)。在起始位期間,TX腳處于低電平,在停止位期間處于高電平。

空閑符號被視為完全由'1'組成的一個完整的數(shù)據(jù)幀,后面跟著包含了數(shù)據(jù)的下一幀的開始位(‘1'的位數(shù)也包括了停止位的位數(shù))。

斷開符號被視為在一個幀周期內(nèi)全部收到'0'(包括停止位期間,也是'0')。在斷開幀結(jié)束時,發(fā)送器再插入 1 或 2 個停止位(‘1')來應(yīng)答起始位。

發(fā)送和接收由一共用的波特率發(fā)生器驅(qū)動,當(dāng)發(fā)送器和接收器的使能位分別置位時,分別為其產(chǎn)生時鐘。

隨后將有每個功能塊的詳細(xì)說明。

wKgZO2g4DiKANqnQAAHJY9uM2Uk609.png

字長設(shè)置

3.2 發(fā)送器

發(fā)送器根據(jù) M 位的狀態(tài)發(fā)送 8 位或 9 位的數(shù)據(jù)字。當(dāng)發(fā)送使能位(TE)被設(shè)置時,發(fā)送移位寄存器中的數(shù)據(jù)在 TX 腳上輸出,相應(yīng)的時鐘脈沖在 CK 腳上輸出。

字符發(fā)送

在 USART 發(fā)送期間,在 TX 引腳上首先移出數(shù)據(jù)的最低有效位。在此模式里,USART_DR 寄存器包含了一個內(nèi)部總線和發(fā)送移位寄存器之間的緩沖器(見圖 249)。

每個字符之前都有一個低電平的起始位;之后跟著的停止位,其數(shù)目可配置。USART 支持多種停止位的配置:0.5、1、1.5 和 2 個停止位。

注: 1.在數(shù)據(jù)傳輸期間不能復(fù)位 TE 位,否則將破壞 TX 腳上的數(shù)據(jù),因為波特率計數(shù)器停止計數(shù)。正在傳輸?shù)漠?dāng)前數(shù)據(jù)將丟失。

2.TE 位被激活后將發(fā)送一個空閑幀。

可配置的停止位

隨每個字符發(fā)送的停止位的位數(shù)可以通過控制寄存器 2 的位 13、12 進行編程。

1. 1 個停止位:停止位位數(shù)的默認(rèn)值。

2. 2 個停止位:可用于常規(guī) USART 模式、單線模式以及調(diào)制解調(diào)器模式。

3. 0.5 個停止位:在智能卡模式下接收數(shù)據(jù)時使用。

4. 1.5 個停止位:在智能卡模式下發(fā)送和接收數(shù)據(jù)時使用。

空閑幀包括了停止位。

斷開幀是 10 位低電平,后跟停止位(當(dāng) m=0 時);或者 11 位低電平,后跟停止位(m=1 時)。不可能傳輸更長的斷開幀(長度大于 10 或者 11 位)。

wKgZO2g4DiKAFXeuAAIAs87Ghko991.png

配置停止位

配置步驟:

1. 通過在 USART_CR1 寄存器上置位 UE 位來激活 USART

2. 編程 USART_CR1 的 M 位來定義字長。

3. 在 USART_CR2 中編程停止位的位數(shù)。

4. 如果采用多緩沖器通信,配置 USART_CR3 中的 DMA 使能位(DMAT)。按多緩沖器通信中的描述配置 DMA 寄存器。

5. 利用 USART_BRR 寄存器選擇要求的波特率。

6. 設(shè)置 USART_CR1 中的 TE 位,發(fā)送一個空閑幀作為第一次數(shù)據(jù)發(fā)送。

7. 把要發(fā)送的數(shù)據(jù)寫進 USART_DR 寄存器(此動作清除 TXE 位)。在只有一個緩沖器的情況下,

對每個待發(fā)送的數(shù)據(jù)重復(fù)步驟 7。

8. 在 USART_DR 寄存器中寫入最后一個數(shù)據(jù)字后,要等待 TC=1,它表示最后一個數(shù)據(jù)幀的傳輸結(jié)束。當(dāng)需要關(guān)閉 USART 或需要進入停機模式之前,需要確認(rèn)傳輸結(jié)束,避免破壞最后一次傳輸。

單字節(jié)通信

清零 TXE 位總是通過對數(shù)據(jù)寄存器的寫操作來完成的。TXE 位由硬件來設(shè)置,它表明:

數(shù)據(jù)已經(jīng)從 TDR 移送到移位寄存器,數(shù)據(jù)發(fā)送已經(jīng)開始

TDR 寄存器被清空

下一個數(shù)據(jù)可以被寫進 USART_DR 寄存器而不會覆蓋先前的數(shù)據(jù)如果 TXEIE 位被設(shè)置,此標(biāo)志將產(chǎn)生一個中斷。

如果此時 USART 正在發(fā)送數(shù)據(jù),對 USART_DR 寄存器的寫操作把數(shù)據(jù)存進 TDR 寄存器,并在當(dāng)前傳輸結(jié)束時把該數(shù)據(jù)復(fù)制進移位寄存器。

如果此時 USART 沒有在發(fā)送數(shù)據(jù),處于空閑狀態(tài),對 USART_DR 寄存器的寫操作直接把數(shù)據(jù)放進移位寄存器,數(shù)據(jù)傳輸開始,TXE 位立即被置起。當(dāng)一幀發(fā)送完成時(停止位發(fā)送后)并且設(shè)置了 TXE 位,TC 位被置起,如果 USART_CR1 寄存器中的 TCIE 位被置起時,則會產(chǎn)生中斷。在 USART_DR 寄存器中寫入了最后一個數(shù)據(jù)字后,在關(guān)閉 USART 模塊之前或設(shè)置微控制器進入低功耗模式(詳見下圖)之前,必須先等待 TC=1。使用下列軟件過程清除 TC 位:

1.讀一次 USART_SR 寄存器;

2.寫一次 USART_DR 寄存器。

注: TC 位也可以通過軟件對它寫'0'來清除。此清零方式只推薦在多緩沖器通信模式下使用。

wKgZO2g4DiKAfVBwAALLK9CEFvU589.png

發(fā)送時 TC/TXE 的變化情況

斷開符號

設(shè)置 SBK 可發(fā)送一個斷開符號。斷開幀長度取決 M 位(見圖 230)。如果設(shè)置 SBK=1,在完成當(dāng)前數(shù)據(jù)發(fā)送后,將在 TX 線上發(fā)送一個斷開符號。斷開字符發(fā)送完成時(在斷開符號的停止位時)SBK 被硬件復(fù)位。USART 在最后一個斷開幀的結(jié)束處插入一邏輯'1',以保證能識別下一幀的起始位。

注意: 如果在開始發(fā)送斷開幀之前,軟件又復(fù)位了 SBK 位,斷開符號將不被發(fā)送。如果要發(fā)送兩個連續(xù)的斷開幀,SBK 位應(yīng)該在前一個斷開符號的停止位之后置起。

空閑符號:置位 TE 將使得 USART 在第一個數(shù)據(jù)幀前發(fā)送一空閑幀。

3.3 接收器

USART 可以根據(jù) USART_CR1 的 M 位接收 8 位或 9 位的數(shù)據(jù)字。

起始位偵測

在 USART 中,如果辨認(rèn)出一個特殊的采樣序列,那么就認(rèn)為偵測到一個起始位。

該序列為:1110X0X0X0000

wKgZPGg4DiOAH_ZqAAN1JYGwLvs714.png

起始位偵測

注意: 如果該序列不完整,那么接收端將退出起始位偵測并回到空閑狀態(tài)(不設(shè)置標(biāo)志位)等待下降沿。如果 3 個采樣點都為'0'(在第 3、5、7 位的第一次采樣,和在第 8、9、10 的第二次采樣都為'0'),則確認(rèn)收到起始位,這時設(shè)置 RXNE 標(biāo)志位,如果 RXNEIE=1,則產(chǎn)生中斷。

如果兩次 3 個采樣點上僅有 2 個是'0'(第 3、5、7 位的采樣點和第 8、9、10 位的采樣點),那么起始位仍然是有效的,但是會設(shè)置 NE 噪聲標(biāo)志位。如果不能滿足這個條件,則中止起始位的偵測過程,接收器會回到空閑狀態(tài)(不設(shè)置標(biāo)志位)。如果有一次 3 個采樣點上僅有 2 個是'0'(第 3、5、7 位的采樣點或第 8、9、10 位的采樣點),那么起始位仍然是有效的,但是會設(shè)置 NE 噪聲標(biāo)志位

字符接收

在 USART 接收期間,數(shù)據(jù)的最低有效位首先從 RX 腳移進。在此模式里,USART_DR 寄存器包含的緩沖器位于內(nèi)部總線和接收移位寄存器之間。

配置步驟:

1. 將 USART_CR1 寄存器的 UE 置 1 來激活 USART。

2. 編程 USART_CR1 的 M 位定義字長

3. 在 USART_CR2 中編寫停止位的個數(shù)

4. 如果需多緩沖器通信,選擇 USART_CR3 中的 DMA 使能位(DMAR)。按多緩沖器通信所要求的配置 DMA 寄存器。

5. 利用波特率寄存器 USART_BRR 選擇希望的波特率。

6. 設(shè)置 USART_CR1 的 RE 位。激活接收器,使它開始尋找起始位。當(dāng)一字符被接收到時,

?RXNE位被置位。它表明移位寄存器的內(nèi)容被轉(zhuǎn)移到 RDR。換句話說,數(shù)據(jù)已經(jīng)被接收并且可以被讀出(包括與之有關(guān)的錯誤標(biāo)志)。

?如果 RXNEIE 位被設(shè)置,產(chǎn)生中斷。

?在接收期間如果檢測到幀錯誤,噪音或溢出錯誤,錯誤標(biāo)志將被置起,

?在多緩沖器通信時,RXNE 在每個字節(jié)接收后被置起,并由 DMA 對數(shù)據(jù)寄存器的讀操作而清零。

?在單緩沖器模式里,由軟件讀 USART_DR 寄存器完成對 RXNE 位清除。RXNE 標(biāo)志也可以通過對它寫 0 來清除。RXNE 位必須在下一字符接收結(jié)束前被清零,以避免溢出錯誤。

注意: 在接收數(shù)據(jù)時,RE 位不應(yīng)該被復(fù)位。如果 RE 位在接收時被清零,當(dāng)前字節(jié)的接收被丟失。

斷開符號

當(dāng)接收到一個斷開幀時,USART 像處理幀錯誤一樣處理它。

空閑符號

當(dāng)一空閑幀被檢測到時,其處理步驟和接收到普通數(shù)據(jù)幀一樣,但如果 IDLEIE 位被設(shè)置將產(chǎn)生一個中斷。

溢出錯誤

如果 RXNE 還沒有被復(fù)位,又接收到一個字符,則發(fā)生溢出錯誤。數(shù)據(jù)只有當(dāng) RXNE 位被清零后才能從移位寄存器轉(zhuǎn)移到 RDR 寄存器。RXNE 標(biāo)記是接收到每個字節(jié)后被置位的。如果下一個數(shù)據(jù)已被收到或先前 DMA 請求還沒被服務(wù)時,RXNE 標(biāo)志仍是置起的,溢出錯誤產(chǎn)生。當(dāng)溢出錯誤產(chǎn)生時:

?ORE 位被置位。

?RDR 內(nèi)容將不會丟失。讀 USART_DR 寄存器仍能得到先前的數(shù)據(jù)。

?移位寄存器中以前的內(nèi)容將被覆蓋。隨后接收到的數(shù)據(jù)都將丟失。

?如果 RXNEIE 位被設(shè)置或 EIE 和 DMAR 位都被設(shè)置,中斷產(chǎn)生。

?順序執(zhí)行對 USART_SR 和 USART_DR 寄存器的讀操作,可復(fù)位 ORE 位

注意: 當(dāng) ORE 位置位時,表明至少有 1 個數(shù)據(jù)已經(jīng)丟失。有兩種可能性:

?如果 RXNE=1,上一個有效數(shù)據(jù)還在接收寄存器 RDR 上,可以被讀出。

?如果 RXNE=0,這意味著上一個有效數(shù)據(jù)已經(jīng)被讀走,RDR已經(jīng)沒有東西可讀。當(dāng)上一個有效數(shù)據(jù)在 RDR 中被讀取的同時又接收到新的(也就是丟失的)數(shù)據(jù)時,此種情況可能發(fā)生。在讀序列期間(在 USART_SR 寄存器讀訪問和 USART_DR 讀訪問之間)接收到新的數(shù)據(jù),此種情況也可能發(fā)生。

噪音錯誤

使用過采樣技術(shù)(同步模式除外),通過區(qū)別有效輸入數(shù)據(jù)和噪音來進行數(shù)據(jù)恢復(fù)。

wKgZO2g4DiCARrh7AADX1CY5oMY209.png

檢測噪聲的數(shù)據(jù)采樣

檢測噪聲的數(shù)據(jù)采樣

采樣值 NE 狀態(tài) 接收的位 數(shù)據(jù)有效性
000 0 0 有效
001 1 0 無效
010 1 0 無效
011 1 1 無效
100 1 0 無效
101 1 1 無效
110 1 1 無效
111 0 1 有效

當(dāng)在接收幀中檢測到噪音時:

?在 RXNE 位的上升沿設(shè)置 NE 標(biāo)志。

?無效數(shù)據(jù)從移位寄存器傳送到 USART_DR 寄存器。

?在單個字節(jié)通信情況下,沒有中斷產(chǎn)生。然而,因為 NE 標(biāo)志位和 RXNE 標(biāo)志位是同時被設(shè)置,RXNE 將產(chǎn)生中斷。在多緩沖器通信情況下,如果已經(jīng)設(shè)置了 USART_CR3 寄存器中 EIE 位,將產(chǎn)生一個中斷。先讀出 USART_SR,再讀出 USART_DR 寄存器,將清除 NE 標(biāo)志位。

幀錯誤

當(dāng)以下情況發(fā)生時檢測到幀錯誤:

由于沒有同步上或大量噪音的原因,停止位沒有在預(yù)期的時間上接和收識別出來。

當(dāng)幀錯誤被檢測到時:

?FE 位被硬件置起

?無效數(shù)據(jù)從移位寄存器傳送到 USART_DR 寄存器。

?在單字節(jié)通信時,沒有中斷產(chǎn)生。然而,這個位和 RXNE 位同時置起,后者將產(chǎn)生中斷。在多緩沖器通信情況下,如果 USART_CR3 寄存器中 EIE 位被置位的話,將產(chǎn)生中斷。順序執(zhí)行對 USART_SR 和 USART_DR 寄存器的讀操作,可復(fù)位 FE 位。接收期間的可配置的停止位被接收的停止位的個數(shù)可以通過控制寄存器 2的控制位來配置,在正常模式時,可以是 1或 2個,在智能卡模式里可能是 0.5 或 1.5 個。

1. 0.5 個停止位(智能卡模式中的接收):不對 0.5 個停止位進行采樣。因此,如果選擇 0.5 個停止位則不能檢測幀錯誤和斷開幀。

2. 1 個停止位:對 1 個停止位的采樣在第 8,第 9 和第 10 采樣點上進行。

3. 1.5 個停止位(智能卡模式):當(dāng)以智能卡模式發(fā)送時,器件必須檢查數(shù)據(jù)是否被正確的發(fā)送出去。所以接收器功能塊必須被激活(USART_CR1 寄存器中的 RE=1),并且在停止位的發(fā)送期間采樣數(shù)據(jù)線上的信號。如果出現(xiàn)校驗錯誤,智能卡會在發(fā)送方采樣 NACK 信號時,即總線上停止位對應(yīng)的時間內(nèi)時,拉低數(shù)據(jù)線,以此表示出現(xiàn)了幀錯誤。FE 在 1.5 個停止位結(jié)束時和RXNE 一起被置起。對 1.5 個停止位的采樣是在第 16,第 17 和第 18 采樣點進行的。1.5 個的停止位可以被分成 2 部分:一個是 0.5 個時鐘周期,期間不做任何事情。隨后是 1 個時鐘周期的停止位,在這段時間的中點處采樣。詳見第 23.3.11 節(jié):智能卡。

4. 2 個停止位:對 2 個停止位的采樣是在第一停止位的第 8,第 9 和第 10 個采樣點完成的。如果第一個停止位期間檢測到一個幀錯誤,幀錯誤標(biāo)志將被設(shè)置。第二個停止位不再檢查幀錯誤。在第一個停止位結(jié)束時 RXNE 標(biāo)志將被設(shè)置。

3.4 分?jǐn)?shù)波特率的產(chǎn)生

接收器和發(fā)送器的波特率在 USARTDIV 的整數(shù)和小數(shù)寄存器中的值應(yīng)設(shè)置成相同。

Tx/Rx波特率 = fck/(16 ? USARTDIV)這里的 fCK 是給外設(shè)的時鐘(PCLK1 用于 USART2、3、4、5,PCLK2 用于 USART1)USARTDIV 是一個無符號的定點數(shù)。這 12 位的值設(shè)置在 USART_BRR 寄存器。

注: 在寫入 USART_BRR 之后,波特率計數(shù)器會被波特率寄存器的新值替換。因此,不要在通信進行中改變波特率寄存器的數(shù)值

如何從 USART_BRR 寄存器值得到 USARTDIV

例 1:

如果 DIV_Mantissa=0d27,DIV_Fraction=0d12(USART_BRR=0x1BC),

于是:

Mantissa(USARTDIV)=0d27

Fraction(USARTDIV)=12/16=0d0.75

所以 USARTDIV=0d27.75

例 2:

要求 USARTDIV=0d25.62,

就有:

DIV_Fraction=16*0.62=0d9.92

最接近的整數(shù)是:10=0x0A

DIV_Mantissa=mantissa(0d25.620)=0d25=0x19

于是,USART_BRR=0x19A 因此 USARTDIV = 0d25.625

例 3:

要求 USARTDIV=0d50.99

就有:

DIV_Fraction=16*0d0.99=0d15.84

最接近的整數(shù)是:16=0x10=>DIV_frac[3:0]溢出=>進位必須加到小數(shù)部分

DIV_Mantissa=mantissa(0d50.990+進位)=0d51=0x33

于是:USART_BRR=0x330,USARTDIV=0d51.000

設(shè)置波特率時的誤差計算

序號 波特率 (Kbps) fPCLK=36MHz fPCLK=72MHz
實際 置于波特率寄存器中的值 誤差 % 實際 置于波特率寄存器中的值 誤差 %
1 2.4 2.400 937.5 0% 2.4 1875 0%
2 9.6 9.600 234.375 0% 9.6 468.75 0%
3 19.2 19.2 117.1875 0% 19.2 234.375 0%
4 57.6 57.6 39.0625 0% 57.6 78.125 0%
5 115.2 115.384 19.5 0.15% 115.2 39.0625 0%
6 230.4 230.769 9.75 0.16% 230.769 19.5 0.16%
7 460.8 461.538 4.875 0.16% 461.538 9.75 0.16%
8 921.6 923.076 2.4375 0.16% 923.076 4.875 0.16%
9 2250 2250 1 0% 2250 2 0%

分享波特率和誤差%之間有什么關(guān)系?

fPCLK為72MHz時,置于波特率寄存器中的值能否小于實際值?

如何根據(jù)實際需求選擇合適的波特率?

注: 1.CPU 的時鐘頻率越低,則某一特定波特率的誤差也越低??梢赃_到的波特率上限可以由這組數(shù)據(jù)得到。

只有 USART1 使用 PCLK2(最高 72MHz)。其它 USART 使用 PCLK1(最高 36MHz)。

3.5 USART 接收器容忍時鐘的變化

只有當(dāng)整體的時鐘系統(tǒng)地變化小于 USART 異步接收器能夠容忍的范圍,USART 異步接收器才能正常地工作。影響這些變化的因素有:

?DTRA:由于發(fā)送器誤差而產(chǎn)生的變化(包括發(fā)送器端振蕩器的變化)

?DQUANT:接收器端波特率取整所產(chǎn)生的誤差

?DREC:接收器端振蕩器的變化

?DTCL:由于傳輸線路產(chǎn)生的變化(通常是由于收發(fā)器在由低變高的轉(zhuǎn)換時序,與由高變低轉(zhuǎn)換時序之間的不一致性所造成)。需要滿足:?DTRA+DQUANT+DREC+DTCL

?由 USART_CR1 寄存器的 M 位定義的 10 或 11 位字符長度

?是否使用分?jǐn)?shù)波特率產(chǎn)生

當(dāng) DIV_Fraction=0 時,USART 接收器的容忍度

M 位 認(rèn)為 NF 是錯誤 不認(rèn)為 NF 是錯誤
0 3.75% 4.375%
1 3.41% 3.97%

當(dāng) DIV_Fraction!=0 時,USART 接收器的容忍度

M 位 認(rèn)為 NF 是錯誤 不認(rèn)為 NF 是錯誤
0 3.33% 3.88%
1 3.03% 3.53%

注: 在特殊的情況下,即當(dāng)收到的幀包含一些在 M=0 時,正好是 10 位(M=1 時是 11 位)的空閑幀,上面 2 個表格中的數(shù)據(jù)可能會有少許出入

3.6 多處理器通信

通過 USART 可以實現(xiàn)多處理器通信(將幾個 USART 連在一個網(wǎng)絡(luò)里)。例如某個 USART 設(shè)備可以是主,它的 TX 輸出和其他 USART 從設(shè)備的 RX 輸入相連接;USART 從設(shè)備各自的 TX 輸出邏輯地與在一起,并且和主設(shè)備的 RX 輸入相連接。

在多處理器配置中,我們通常希望只有被尋址的接收者才被激活,來接收隨后的數(shù)據(jù),這樣就可以減少由未被尋址的接收器的參與帶來的多余的 USART 服務(wù)開銷。未被尋址的設(shè)備可啟用其靜默功能置于靜默模式。在靜默模式里:

?任何接收狀態(tài)位都不會被設(shè)置。

?所有接收中斷被禁止。

?USART_CR1 寄存器中的 RWU 位被置 1。RWU 可以被硬件自動控制或在某個條件下由軟件寫入。

根據(jù) USART_CR1 寄存器中的 WAKE 位狀態(tài),USART 可以用二種方法進入或退出靜默模式。

?如果 WAKE 位被復(fù)位:進行空閑總線檢測。

?如果 WAKE 位被設(shè)置:進行地址標(biāo)記檢測。

空閑總線檢測(WAKE=0)

當(dāng) RWU 位被寫 1 時,USART 進入靜默模式。當(dāng)檢測到一空閑幀時,它被喚醒。然后 RWU 被硬件清零,但是 USART_SR 寄存器中的 IDLE 位并不置起。RWU 還可以被軟件寫 0。下圖給出利用空閑總線檢測來喚醒和進入靜默模式的一個例子

wKgZPGg4DiCAeUDPAACQriPodPE443.png

利用空閑總線檢測的靜默模式

地址標(biāo)記(addressmark)檢測(WAKE=1)

在這個模式里,如果 MSB 是 1,該字節(jié)被認(rèn)為是地址,否則被認(rèn)為是數(shù)據(jù)。在一個地址字節(jié)中,目標(biāo)接收器的地址被放在 4 個 LSB 中。這個 4 位地址被接收器同它自己地址做比較,接收器的地址被編程在 USART_CR2 寄存器的 ADD。

如果接收到的字節(jié)與它的編程地址不匹配時,USART 進入靜默模式。此時,硬件設(shè)置 RWU 位。接收該字節(jié)既不會設(shè)置 RXNE 標(biāo)志也不會產(chǎn)生中斷或發(fā)出 DMA 請求,因為 USART 已經(jīng)在靜默模式。當(dāng)接收到的字節(jié)與接收器內(nèi)編程地址匹配時,USART 退出靜默模式。然后 RWU 位被清零,隨后的字節(jié)被正常接收。收到這個匹配的地址字節(jié)時將設(shè)置 RXNE 位,因為 RWU 位已被清零。當(dāng)接收緩沖器不包含數(shù)據(jù)時(USART_SR 的 RXNE=0),RWU 位可以被寫 0 或 1。否則,該次寫操作被忽略。下圖給出利用地址標(biāo)記檢測來喚醒和進入靜默模式的例子。

wKgZO2g4DiGARWmOAAEJken1UEE729.png

利用地址標(biāo)記檢測的靜默模式

3.7 校驗控制

設(shè)置 USART_CR1 寄存器上的 PCE 位,可以使能奇偶控制(發(fā)送時生成一個奇偶位,接收時進行奇偶校驗)。根據(jù) M 位定義的幀長度,可能的 USART 幀格式列在下表中。

幀格式

M 位 PCE 位 USART 幀
0 0 起始位、8 位數(shù)據(jù)、停止位
0 1 起始位、7 位數(shù)據(jù)、奇偶檢驗位、停止位
1 0 起始位、9 位數(shù)據(jù)、停止位
1 1 起始位、8 位數(shù)據(jù)、奇偶檢驗位、停止位

注意: 在用地址標(biāo)記喚醒設(shè)備時,地址的匹配只考慮到數(shù)據(jù)的 MSB 位,而不用關(guān)心校驗位。(MSB 是數(shù)據(jù)位中最后發(fā)出的,后面緊跟校驗位或者停止位)

偶校驗:校驗位使得一幀中的 7 或 8 個 LSB 數(shù)據(jù)以及校驗位中'1'的個數(shù)為偶數(shù)。

例如:數(shù)據(jù)=00110101,有 4 個'1',如果選擇偶校驗(在 USART_CR1 中的 PS=0),校驗位將是'0'。

奇校驗:此校驗位使得一幀中的 7 或 8 個 LSB 數(shù)據(jù)以及校驗位中'1'的個數(shù)為奇數(shù)。

例如:數(shù)據(jù)=00110101,有 4 個'1',如果選擇奇校驗(在 USART_CR1 中的 PS=1),校驗位將是'1'。

傳輸模式:如果 USART_CR1 的 PCE 位被置位,寫進數(shù)據(jù)寄存器的數(shù)據(jù)的 MSB 位被校驗位替換后發(fā)送出去(如果選擇偶校驗偶數(shù)個'1',如果選擇奇校驗奇數(shù)個'1')。如果奇偶校驗失敗,USART_SR寄存器中的 PE 標(biāo)志被置'1',并且如果 USART_CR1 寄存器的 PEIE 在被預(yù)先設(shè)置的話,中斷產(chǎn)生。

3.8 LIN(局域互聯(lián)網(wǎng))模式

LIN 模式是通過設(shè)置 USART_CR2 寄存器的 LINEN 位選擇。在 LIN 模式下,下列位必須保持為 0:

?USART_CR2 寄存器的 CLKEN 位

?USART_CR3 寄存器的 STOP[1:0],SCEN,HDSEL 和 IREN

LIN 發(fā)送

23.3.2 節(jié)里所描述的同樣步驟適用于 LIN 主發(fā)送,但和正常 USART 發(fā)送有以下區(qū)別:

?清零 M 位以配置 8 位字長

?置位LINEN位以進入LIN模式。這時,置位SBK將發(fā)送13位'0'作為斷開符號。然后發(fā)一位'1',以允許對下一個開始位的檢測。

LIN 接收

當(dāng) LIN 模式被使能時,斷開符號檢測電路被激活。該檢測完全獨立于 USART 接收器。斷開符號只要一出現(xiàn)就能檢測到,不管是在總線空閑時還是在發(fā)送某數(shù)據(jù)幀其間,數(shù)據(jù)幀還未完成,又插入了斷開符號的發(fā)送。

當(dāng)接收器被激活時(USART_CR1 的 RE=1),電路監(jiān)測 RX 上的起始信號。監(jiān)測起始位的方法同檢測斷開符號或數(shù)據(jù)是一樣的。當(dāng)起始位被檢測到后,電路對每個接下來的位,在每個位的第 8,9,10 個過采樣時鐘點上進行采樣。如果 10 個(當(dāng) USART_CR2 的 LBDL=0)或 11 個(當(dāng) USART_CR2 的LBDL=1)連續(xù)位都是'0',并且又跟著一個定界符,USART_SR 的 LBD 標(biāo)志被設(shè)置。如果 LBDIE 位=1,中斷產(chǎn)生。在確認(rèn)斷開符號前,要檢查定界符,因為它意味 RX 線已經(jīng)回到高電平。如果在第 10 或 11 個采樣點之前采樣到了'1',檢測電路取消當(dāng)前檢測并重新尋找起始位。如果 LIN模式被禁止,接收器繼續(xù)如正常 USART 那樣工作,不需要考慮檢測斷開符號。如果 LIN 模式?jīng)]有被激活(LINEN=0),接收器仍然正常工作于 USART 模式,不會進行斷開檢測。如果 LIN 模式被激活(LINEN=1),只要一發(fā)生幀錯誤(也就是停止位檢測到'0',這種情況出現(xiàn)在斷開幀),接收器就停止,直到斷開符號檢測電路接收到一個'1'(這種情況發(fā)生于斷開符號沒有完整的發(fā)出來),或一個定界符(這種情況發(fā)生于已經(jīng)檢測到一個完整的斷開符號)。

wKgZO2g4DiKAKS9NAAIzHjMeAjc040.png

LIN 模式下的斷開檢測(11 位斷開長度–設(shè)置了 LBDL 位)

wKgZO2g4DiGAMxvlAAE_HBQkdEo410.png

LIN 模式下的斷開檢測與幀錯誤的檢測

3.9 USART 同步模式

通過在 USART_CR2 寄存器上寫 CLKEN 位選擇同步模式

在同步模式里,下列位必須保持清零狀態(tài):

USART_CR2 寄存器中的 LINEN 位

USART_CR3 寄存器中的 SCEN,HDSEL 和 IREN 位

USART 允許用戶以主模式方式控制雙向同步串行通信。CK 腳是 USART 發(fā)送器時鐘的輸出。在起始位和停止位期間,CK 腳上沒有時鐘脈沖。根據(jù) USART_CR2 寄存器中 LBCL 位的狀態(tài),決定在最后一個有效數(shù)據(jù)位期間產(chǎn)生或不產(chǎn)生時鐘脈沖。USART_CR2 寄存器的 CPOL 位允許用戶選擇時鐘極性,USART_CR2 寄存器上的 CPHA 位允許用戶選擇外部時鐘的相位(見圖 239、圖 260 和圖 261)。在總線空閑期間,實際數(shù)據(jù)到來之前以及發(fā)送斷開符號的時候,外部 CK 時鐘不被激活。同步模式時,USART 發(fā)送器和異步模式里工作一模一樣。但是因為 CK 是與 TX 同步的(根據(jù) CPOL和 CPHA),所以 TX 上的數(shù)據(jù)是隨 CK 同步發(fā)出的。

同步模式的 USART 接收器工作方式與異步模式不同。如果 RE=1,數(shù)據(jù)在 CK 上采樣(根據(jù) CPOL 和CPHA 決定在上升沿還是下降沿),不需要任何的過采樣。但必須考慮建立時間和持續(xù)時間(取決于波特率,1/16 位時間)。

注意: 1.CK 腳同 TX 腳一起聯(lián)合工作。因而,只有在使能了發(fā)送器(TE=1),并且發(fā)送數(shù)據(jù)時(寫入數(shù)據(jù)至 USART_DR 寄存器)才提供時鐘。這意味著在沒有發(fā)送數(shù)據(jù)時是不可能接收一個同步數(shù)據(jù)的。

2.LBCL,CPOL 和 CPHA 位的正確配置,應(yīng)該在發(fā)送器和接收器都被禁止時;當(dāng)使能了發(fā)送器或接收器時,這些位不能被改變

3.建議在同一條指令中設(shè)置 TE 和 RE,以減少接收器的建立時間和保持時間。

4.USART 只支持主模式:它不能用來自其他設(shè)備的輸入時鐘接收或發(fā)送數(shù)據(jù)(CK 永遠(yuǎn)是輸出)。

wKgZO2g4DiGAJ75yAABU1LZkzho406.png

USART 同步傳輸?shù)睦?/p>

wKgZPGg4DiGAH1SlAAHNATyVCv8425.png

USART 數(shù)據(jù)時鐘時序示例(M=0)

wKgZPGg4DiKAbQ4NAAHfhtizHu8868.png

USART 數(shù)據(jù)時鐘時序示例(M=1)

wKgZO2g4DiGAWYrjAAB5s-LzzNM506.png

RX 數(shù)據(jù)采樣/保持時間

注: 在智能卡模式下 CK 的功能不同,有關(guān)細(xì)節(jié)請參考智能卡模式部分。

3.10 單線半雙工通信

單線半雙方模式通過設(shè)置 USART_CR3 寄存器的 HDSEL 位選擇。在這個模式里,下面的位必須保

持清零狀態(tài):

?USART_CR2 寄存器的 LINEN 和 CLKEN 位

?USART_CR3 寄存器的 SCEN 和 IREN 位

?USART 可以配置成遵循單線半雙工協(xié)議。在單線半雙工模式下,TX 和 RX 引腳在芯片內(nèi)部互連。使用控制位”HALF DUPLEX SEL”(USART_CR3 中的 HDSEL 位)選擇半雙工和全雙工通信。當(dāng) HDSEL為'1'時

?RX 不再被使用

?當(dāng)沒有數(shù)據(jù)傳輸時,TX 總是被釋放。因此,它在空閑狀態(tài)的或接收狀態(tài)時表現(xiàn)為一個標(biāo)準(zhǔn)I/O 口。這就意味該 I/O 在不被 USART 驅(qū)動時,必須配置成懸空輸入(或開漏的輸出高)。

除此以外,通信與正常 USART 模式類似。由軟件來管理線上的沖突(例如通過使用一個中央仲裁器)。特別的是,發(fā)送從不會被硬件所阻礙。當(dāng) TE 位被設(shè)置時,只要數(shù)據(jù)一寫到數(shù)據(jù)寄存器上,發(fā)送就繼續(xù)。

3.11 智能卡

設(shè)置 USART_CR3 寄存器的 SCEN 位選擇智能卡模式。在智能卡模式下,下列位必須保持清零:

?USART_CR2 寄存器的 LINEN 位

?USART_CR3 寄存器的 HDSEL 位和 IREN 位

此外,CLKEN 位可以被設(shè)置,以提供時鐘給智能卡。

該接口符合 ISO7816-3 標(biāo)準(zhǔn),支持智能卡異步協(xié)議。USART 應(yīng)該被設(shè)置為:

?8 位數(shù)據(jù)位加校驗位:此時 USART_CR1 寄存器中 M=1、PCE=1

?發(fā)送和接收時為 1.5 個停止位:即 USART_CR2 寄存器的 STOP=11

注: 也可以在接收時選擇 0.5 個停止位,但為了避免在 2 種配置間轉(zhuǎn)換,建議在發(fā)送和接收時使用1.5 個停止位。下圖給出的例子說明了數(shù)據(jù)線上,在有校驗錯誤和沒校驗錯誤兩種情況下的信號。

wKgZPGg4DiGAPqP5AAC7xCTQRAE260.png

ISO7816-3 異步協(xié)議

當(dāng)與智能卡相連接時,USART 的 TX 驅(qū)動一根智能卡也驅(qū)動的雙向線。為了做到這點,SW_RX 必須和 TX 連接到相同的 I/O 口。在發(fā)送開始位和數(shù)據(jù)字節(jié)期間,發(fā)送器的輸出使能位 TX_EN 被置起,在發(fā)送停止位期間被釋放(弱上拉),因此在發(fā)現(xiàn)校驗錯誤的情況下接收器可以將數(shù)據(jù)線拉低。

如果 TX_EN 不被使用,在停止位期間 TX 被拉到高電平:這樣的話,只要 TX 配置成開漏,接收器也可以驅(qū)動這根線。智能卡是一個單線半雙工通信協(xié)議

?從發(fā)送移位寄存器把數(shù)據(jù)發(fā)送出去,要被延時最小 1/2 波特時鐘。在正常操作時,一個滿的發(fā)送移位寄存器將在下一個波特時鐘沿開始向外移出數(shù)據(jù)。在智能卡模式里,此發(fā)送被延遲1/2 波特時鐘。

? 如果在接收一個設(shè)置為 0.5 或 1.5 個停止位的數(shù)據(jù)幀期間,檢測到一奇偶校驗錯誤,在完成接收該幀后(即停止位結(jié)束時),發(fā)送線被拉低一個波特時鐘周期。這是告訴智能卡發(fā)送到USART 的數(shù)據(jù)沒有被正確地接收到。此 NACK 信號(拉低發(fā)送線一個波特時鐘周期)在發(fā)送端將產(chǎn)生一個幀錯誤(發(fā)送端被配置成 1.5 個停止位)。應(yīng)用程序可以根據(jù)協(xié)議處理重新發(fā)送數(shù)據(jù)。如果設(shè)置了 NACK 控制位,發(fā)生校驗錯誤時接收器會給出一個 NACK 信號;否則就不會發(fā)送 NACK。

?TC 標(biāo)志的置起可以通過編程保護時間寄存器得以延時。在正常操作時,當(dāng)發(fā)送移位寄存器變空并且沒有新的發(fā)送請求出現(xiàn)時,TC 被置起。在智能卡模式里,空的發(fā)送移位寄存器將觸發(fā)保護時間計數(shù)器開始向上計數(shù),直到保護時間寄存器中的值。TC 在這段時間被強制拉低。當(dāng)保護時間計數(shù)器達到保護時間寄存器中的值時,TC 被置高。

?TC 標(biāo)志的撤銷不受智能卡模式的影響。

?如果發(fā)送器檢測到一個幀錯誤(收到接收器的 NACK 信號),發(fā)送器的接收功能模塊不會把NACK 當(dāng)作起始位檢測。根據(jù) ISO 協(xié)議,接收到的 NACK 的持續(xù)時間可以是 1 或 2 波特時鐘周期。

?在接收器這邊,如果一個校驗錯誤被檢測到,并且 NACK 被發(fā)送,接收器不會把 NACK 檢測成起始位。

注意: 1.斷開符號在智能卡模式里沒有意義。一個帶幀錯誤的 00h 數(shù)據(jù)將被當(dāng)成數(shù)據(jù)而不是斷開符號。

2.當(dāng)來回切換 TE 位時,沒有 IDLE 幀被發(fā)送。ISO 協(xié)議沒有定義 IDLE 幀。

下圖詳述了 USART 是如何采樣 NACK 信號的。在這個例子里,USART 正在發(fā)送數(shù)據(jù),并且被配置成 1.5 個停止位。為了檢查數(shù)據(jù)的完整性和 NACK 信號,USART 的接收功能塊被激活。

wKgZO2g4DiGAAomQAADby-Y9YYw542.png

使用 1.5 停止位檢測奇偶檢驗錯

USART 可以通過 CK 輸出為智能卡提供時鐘。在智能卡模式里,CK 不和通信直接關(guān)聯(lián),而是先通過一個 5 位預(yù)分頻器簡單地用內(nèi)部的外設(shè)輸入時鐘來驅(qū)動智能卡的時鐘。分頻率在預(yù)分頻寄存器USART_GTPR 中配置。CK 頻率可以從 fCK/2 到 fCK/62,這里的 fCK 是外設(shè)輸入時鐘。

3.12 IrDA SIR ENDEC 功能模塊

通過設(shè)置 USART_CR3 寄存器的 IREN 位選擇 IrDA 模式。在 IRDA 模式里,下列位必須保持清零:

?USART_CR2 寄存器的 LINEN,STOP 和 CLKEN 位

?USART_CR3 寄存器的 SCEN 和 HDSEL 位。

IrDA SIR 物理層規(guī)定使用反相歸零調(diào)制方案(RZI),該方案用一個紅外光脈沖代表邏輯'0'(見圖 265)。

SIR 發(fā)送編碼器對從 USART 輸出的 NRZ(非歸零)比特流進行調(diào)制。輸出脈沖流被傳送到一個外部輸出驅(qū)動器和紅外 LED。USART 為 SIR ENDEC 最高只支持到 115.2Kbps 速率。在正常模式里,脈沖寬度規(guī)定為一個位周期的 3/16。SIR 接收解碼器對來自紅外接收器的歸零位比特流進行解調(diào),并將接收到的 NRZ 串行比特流輸出到 USART。在空閑狀態(tài)里,解碼器輸入通常是高(標(biāo)記狀態(tài) markingstate)。發(fā)送編碼器輸出的極性和解碼器的輸入相反。當(dāng)解碼器輸入低時,檢測到一個起始位。

?IrDA 是一個半雙工通信協(xié)議。如果發(fā)送器忙(也就是 USART 正在送數(shù)據(jù)給 IrDA 編碼器)IrDA 接收線上的任何數(shù)據(jù)將被 IrDA 解碼器忽視。如果接收器忙(也就是 USART 正在接收從 IrDA解碼器來的解碼數(shù)據(jù)),從 USART 到 IrDA 的 TX 上的數(shù)據(jù)將不會被 IrDA 編碼。當(dāng)接收數(shù)據(jù)時,應(yīng)該避免發(fā)送,因為將被發(fā)送的數(shù)據(jù)可能被破壞。

?SIR 發(fā)送邏輯把'0'作為高脈沖發(fā)送,把'1'作為低電平發(fā)送。脈沖的寬度規(guī)定為正常模式時位周期的 3/16(見圖 266)。

?SIR 接收邏輯把高電平狀態(tài)解釋為'1',把低脈沖解釋為'0'。

?發(fā)送編碼器輸出與解碼器輸入有著相反的極性。當(dāng)空閑時,SIR 輸出處于低狀態(tài)。

?SIR 解碼器把 IrDA 兼容的接收信號轉(zhuǎn)變成給 USART 的比特流。

?IrDA 規(guī)范要求脈沖要寬于 1.41us。脈沖寬度是可編程的。接收器端的尖峰脈沖檢測邏輯濾除寬度小于 2 個 PSC 周期的脈沖(PSC 是在 IrDA 低功耗波特率寄存器 USART_GTPR 中編程的預(yù)分頻值)。寬度小于 1 個 PSC 周期的脈沖一定被濾除掉,但是那些寬度大于 1 個而小于 2 個PSC 周期的脈沖可能被接收或濾除,那些寬度大于 2 個周期的將被視為一個有效的脈沖。當(dāng)PSC=0 時,IrDA 編碼器/解碼器不工作。

?接收器可以與一低功耗發(fā)送器通信。

?在 IrDA 模式里,USART_CR2 寄存器上的 STOP 位必須配置成 1 個停止位。

IrDA 低功耗模式

發(fā)送器

在低功耗模式,脈沖寬度不再持續(xù) 3/16 個位周期。取而代之,脈沖的寬度是低功耗波特率的 3 倍,它最小可以是 1.42MHz。通常這個值是 1.8432MHz(1.42MHz

接收器

低功耗模式的接收類似于正常模式的接收。為了濾除尖峰干擾脈沖,USART 應(yīng)該濾除寬度短于 1個 PSC 的脈沖。只有持續(xù)時間大于 2 個周期的 IrDA 低功耗波特率時鐘(USART_GTPR 中的 PSC)的低電平信號才被接受為有效的信號。

注意: 1.寬度小于 2 個大于 1 個 PSC 周期的脈沖可能會也可能不會被濾除。

2.接收器的建立時間應(yīng)該由軟件管理。IrDA 物理層技術(shù)規(guī)范規(guī)定了在發(fā)送和接收之間最小要有10ms 的延時(IrDA 是一個半雙工協(xié)議)。

wKgZPGg4DiGAFeKAAACmLh9NLuk917.png

IrDA SIR ENDEC 框圖

wKgZO2g4DiGAbQ9PAAB3jSpJRLs834.png

IrDA 數(shù)據(jù)調(diào)制(3/16)普通模式

3.13 利用 DMA 連續(xù)通信

USART 可以利用 DMA 連續(xù)通信。Rx 緩沖器和 Tx 緩沖器的 DMA 請求是分別產(chǎn)生的。

利用 DMA 發(fā)送

使用 DMA 進行發(fā)送,可以通過設(shè)置 USART_CR3 寄存器上的 DMAT 位激活。當(dāng) TXE 位被置為'1'時,DMA 就從指定的 SRAM 區(qū)傳送數(shù)據(jù)到 USART_DR 寄存器。為 USART 的發(fā)送分配一個 DMA 通道的步驟如下(x 表示通道號):

1. 在 DMA 控制寄存器上將 USART_DR 寄存器地址配置成 DMA 傳輸?shù)哪康牡刂?。在每個 TXE 事件后,數(shù)據(jù)將被傳送到這個地址。

2. 在 DMA 控制寄存器上將存儲器地址配置成 DMA 傳輸?shù)脑吹刂?。在每個 TXE 事件后,將從此存儲器區(qū)讀出數(shù)據(jù)并傳送到 USART_DR 寄存器。

3. 在 DMA 控制寄存器中配置要傳輸?shù)目偟淖止?jié)數(shù)。

4. 在 DMA 寄存器上配置通道優(yōu)先級。

5. 根據(jù)應(yīng)用程序的要求,配置在傳輸完成一半還是全部完成時產(chǎn)生 DMA 中斷。

6. 在 DMA 寄存器上激活該通道。

當(dāng)傳輸完成 DMA 控制器指定的數(shù)據(jù)量時,DMA 控制器在該 DMA 通道的中斷向量上產(chǎn)生一中斷。在發(fā)送模式下,當(dāng) DMA 傳輸完所有要發(fā)送的數(shù)據(jù)時,DMA 控制器設(shè)置 DMA_ISR 寄存器的 TCIF 標(biāo)志;監(jiān)視 USART_SR 寄存器的 TC 標(biāo)志可以確認(rèn) USART 通信是否結(jié)束,這樣可以在關(guān)閉 USART 或進入停機模式之前避免破壞最后一次傳輸?shù)臄?shù)據(jù);軟件需要先等待 TXE=1,再等待 TC=1。

wKgZO2g4DiSAO8P9AAMyCEKEWd8050.png

利用 DMA 發(fā)送

利用 DMA 接收

可以通過設(shè)置 USART_CR3 寄存器的 DMAR 位激活使用 DMA 進行接收,每次接收到一個字節(jié),DMA控制器就就把數(shù)據(jù)從 USART_DR 寄存器傳送到指定的 SRAM 區(qū)(參考 DMA 相關(guān)說明)。為 USART 的接收分配一個 DMA 通道的步驟如下(x 表示通道號):

1. 通過 DMA 控制寄存器把 USART_DR 寄存器地址配置成傳輸?shù)脑吹刂贰T诿總€ RXNE 事件后,將從此地址讀出數(shù)據(jù)并傳輸?shù)酱鎯ζ鳌?/p>

2. 通過 DMA 控制寄存器把存儲器地址配置成傳輸?shù)哪康牡刂?。在每個 RXNE 事件后,數(shù)據(jù)將從USART_DR 傳輸?shù)酱舜鎯ζ鲄^(qū)。

3. 在 DMA 控制寄存器中配置要傳輸?shù)目偟淖止?jié)數(shù)。

4. 在 DMA 寄存器上配置通道優(yōu)先級。

5. 根據(jù)應(yīng)用程序的要求配置在傳輸完成一半還是全部完成時產(chǎn)生 DMA 中斷。

6. 在 DMA 控制寄存器上激活該通道。

當(dāng)接收完成 DMA 控制器指定的傳輸量時,DMA 控制器在該 DMA 通道的中斷矢量上產(chǎn)生一中斷。

wKgZPGg4DiKAPuOfAAKWN85jNwc282.png

利用 DMA 接收

多緩沖器通信中的錯誤標(biāo)志和中斷產(chǎn)生在多緩沖器通信的情況下,通信期間如果發(fā)生任何錯誤,在當(dāng)前字節(jié)傳輸后將置起錯誤標(biāo)志。如果中斷使能位被設(shè)置,將產(chǎn)生中斷。在單個字節(jié)接收的情況下,和 RXNE 一起被置起的幀錯誤、溢出錯誤和噪音標(biāo)志,有單獨的錯誤標(biāo)志中斷使能位;如果設(shè)置了,會在當(dāng)前字節(jié)傳輸結(jié)束后,產(chǎn)生中斷。

3.14 硬件流控制

利用 nCTS 輸入和 nRTS 輸出可以控制 2 個設(shè)備間的串行數(shù)據(jù)流。下圖表明在這個模式里如何連接2 個設(shè)備。

wKgZPGg4DiGAKiDiAACIxUdJrLw944.png

兩個 USART 間的硬件流控制

通過將 UASRT_CR3 中的 RTSE 和 CTSE 置位,可以分別獨立地使能 RTS 和 CTS 流控制。

RTS 流控制

如果 RTS 流控制被使能(RTSE=1),只要 USART 接收器準(zhǔn)備好接收新的數(shù)據(jù),nRTS 就變成有效(接低電平)。當(dāng)接收寄存器內(nèi)有數(shù)據(jù)到達時,nRTS 被釋放,由此表明希望在當(dāng)前幀結(jié)束時停止數(shù)據(jù)傳輸。下圖是一個啟用 RTS 流控制的通信的例子。

wKgZPGg4DiGANRmZAACP5dXZG2g833.png

RTS 流控制

CTS 流控制

如果 CTS 流控制被使能(CTSE=1),發(fā)送器在發(fā)送下一幀前檢查 nCTS 輸入。如果 nCTS 有效(被拉成低電平),則下一個數(shù)據(jù)被發(fā)送(假設(shè)那個數(shù)據(jù)是準(zhǔn)備發(fā)送的,也就是 TXE=0),否則下一幀數(shù)據(jù)不被發(fā)出去。若 nCTS 在傳輸期間被變成無效,當(dāng)前的傳輸完成后停止發(fā)送。

當(dāng) CTSE=1 時,只要 nCTS 輸入一變換狀態(tài),硬件就自動設(shè)置 CTSIF 狀態(tài)位。它表明接收器是否準(zhǔn)備好進行通信。如果設(shè)置了 USART_CT3 寄存器的 CTSIE 位,則產(chǎn)生中斷。下圖是一個啟用 CTS 流控制通信的例子。

wKgZPGg4DiKAKWvdAADI-SiPnTA276.png

CTS 流控制

4 USART 中斷請求

中斷事件 事件標(biāo)志 使能位
發(fā)送數(shù)據(jù)寄存器空 TXE TXEIE
CTS 標(biāo)志 CTS CTSIE
發(fā)送完成 TC TCIE
接收數(shù)據(jù)就緒可讀 RXNE RXNEIE
檢測到數(shù)據(jù)溢出 ORE RXNEIE
檢測到空閑線路 IDLE IDLEIE
奇偶檢驗錯 PE PEIE
斷開標(biāo)志 LBD LBDIE
噪聲標(biāo)志,多緩沖通信中的溢出錯誤和幀錯誤 NE 或 ORT 或 FE EIE(1)

(1)僅當(dāng)使用 DMA 接收數(shù)據(jù)時,才使用這個標(biāo)志位。USART 的各種中斷事件被連接到同一個中斷向量(見下圖),有以下各種中斷事件:

發(fā)送期間:發(fā)送完成、清除發(fā)送、發(fā)送數(shù)據(jù)寄存器空。

接收期間:空閑總線檢測、溢出錯誤、接收數(shù)據(jù)寄存器非空、校驗錯誤、LIN 斷開符號檢測、噪音標(biāo)志(僅在多緩沖器通信)和幀錯誤(僅在多緩沖器通信)。

如果設(shè)置了對應(yīng)的使能控制位,這些事件就可以產(chǎn)生各自的中斷。

wKgZPGg4DiKAKWvdAADI-SiPnTA276.png

USART 中斷映像圖

5 例程設(shè)計

5.1 USART_Asyn

1.初始化部分調(diào)用delay_init()函數(shù)進行延時初始化。

調(diào)用UART_Configuration(115200)函數(shù)對串口 1 進行初始化,波特率設(shè)置為 115200。

獲取系統(tǒng)時鐘頻率并打印相關(guān)信息。

2.主循環(huán)部分接收數(shù)據(jù):禁用 DMA1 通道 5。

while (1)
{
    // 禁用DMA1通道5(確保配置前停止通道)
    DMA_Cmd(DMA1_Channel5, DISABLE);
    
    // i. 使能串口1接收DMA請求
    USART_DMACmd(USART1, USART_DMAReq_Rx, ENABLE);
    
    // ii. 配置DMA接收(通道5)
    DMA_RecvConfiguration();
    
    // iii. 等待接收完成標(biāo)志(DMA1通道5傳輸完成)
    while (DMA_GetFlagStatus(DMA1_FLAG_TC5) == RESET);
    
    // iv. 打印接收完成信息及數(shù)據(jù)
    printf("USART Asyn DMA Recv Completen");
    for (i = 0; i < BUFFSIZE; i++)
    {
        printf("%c  ,", Buff[i]);
    }
    printf("n");

    // 發(fā)送數(shù)據(jù)流程(與接收類似)...
}

使能串口 1 的接收 DMA 請求。

調(diào)用DMA_RecvConfiguration()函數(shù)配置 DMA 接收。

等待 DMA 接收完成標(biāo)志(DMA1_FLAG_TC5)置位。

打印接收完成信息,并輸出接收到的數(shù)據(jù)。

3.發(fā)送數(shù)據(jù):禁用 DMA1 通道 4。

while (1)
{
    // (接收流程代碼略)...

    // 禁用DMA1通道4(確保配置前停止通道)
    DMA_Cmd(DMA1_Channel4, DISABLE);
    
    // i. 使能串口1發(fā)送DMA請求
    USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE);
    
    // ii. 配置DMA發(fā)送(通道4)
    DMA_SendConfiguration();
    
    // iii. 等待發(fā)送完成標(biāo)志(DMA1通道4傳輸完成)
    while (DMA_GetFlagStatus(DMA1_FLAG_TC4) == RESET);
    
    // iv. 打印發(fā)送完成信息
    printf("USART Asyn DMA Send Completen");
    delay_ms(100); // 可選延時避免高頻循環(huán)
}

使能串口 1 的發(fā)送 DMA 請求。

調(diào)用DMA_SendConfiguration()函數(shù)配置 DMA 發(fā)送。

等待 DMA 發(fā)送完成標(biāo)志(DMA1_FLAG_TC4)置位。

打印發(fā)送完成信息。

4.函數(shù)實現(xiàn)部分UART_Configuration:對串口 1 的 GPIO 和串口參數(shù)進行初始化。

void DMA_RecvConfiguration(void)
{
    DMA_InitTypeDef DMA_InitStructure;

    // 使能DMA1時鐘
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);

    // 復(fù)位并配置DMA1通道5(USART1接收)
    DMA_DeInit(DMA1_Channel5);
    DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&USART1->DR; // 外設(shè)地址:USART數(shù)據(jù)寄存器
    DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)Buff;           // 內(nèi)存地址:接收緩沖區(qū)
    DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;               // 方向:外設(shè)→內(nèi)存
    DMA_InitStructure.DMA_BufferSize = BUFFSIZE;                     // 緩沖區(qū)大?。?字節(jié)
    DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; // 外設(shè)地址不變
    DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;         // 內(nèi)存地址遞增
    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; // 8位數(shù)據(jù)
    DMA_Init(DMA1_Channel5, &DMA_InitStructure);
    DMA_Cmd(DMA1_Channel5, ENABLE); // 啟動DMA接收
}
void DMA_SendConfiguration(void)
{
    DMA_InitTypeDef DMA_InitStructure;

    // 使能DMA1時鐘(已使能可省略,但代碼中保留健壯性)
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);

    // 復(fù)位并配置DMA1通道4(USART1發(fā)送)
    DMA_DeInit(DMA1_Channel4);
    DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&USART1->DR; // 外設(shè)地址:USART數(shù)據(jù)寄存器
    DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)Buff;           // 內(nèi)存地址:發(fā)送緩沖區(qū)
    DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;               // 方向:內(nèi)存→外設(shè)
    DMA_InitStructure.DMA_BufferSize = BUFFSIZE;                     // 緩沖區(qū)大?。?字節(jié)
    DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; // 外設(shè)地址不變
    DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;         // 內(nèi)存地址遞增
    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; // 8位數(shù)據(jù)
    DMA_Init(DMA1_Channel4, &DMA_InitStructure);
    DMA_Cmd(DMA1_Channel4, ENABLE); // 啟動DMA發(fā)送
}

DMA_RecvConfiguration:對 DMA1 通道 5 進行初始化,用于串口 1 的接收。

DMA_SendConfiguration:對 DMA1 通道 4 進行初始化,用于串口 1 的發(fā)送。

SER_PutChar:實現(xiàn)字符發(fā)送功能。

fputc:重定向標(biāo)準(zhǔn)輸出函數(shù),使printf函數(shù)可以通過串口輸出。

6 下載驗證

6.1 USART_Asyn

初始化階段

程序啟動后,會進行一系列初始化操作,包括延時初始化、串口 1 初始化,并且獲取系統(tǒng)時鐘頻率。

初始化完成后,會通過串口打印系統(tǒng)時鐘頻率信息,內(nèi)容涵蓋 SYSCLK、HCLK、PCLK1、PCLK2 和 ADCCLK 的頻率,單位為 MHz。

隨后會打印出USART Asyn DMA Test.,表明開始進行串口異步 DMA 測試。

主循環(huán)階段

接收數(shù)據(jù)

程序會先禁用 DMA1 通道 5,然后使能串口 1 的接收 DMA 請求,并對 DMA 接收進行配置。

程序會等待 DMA 接收完成標(biāo)志(DMA1_FLAG_TC5)置位,當(dāng)接收完成后,會打印USART Asyn DMA Recv Complete信息。

接著將接收到的BUFFSIZE(即 8 個)字節(jié)數(shù)據(jù)逐字符打印出來,每個字符后會有一個逗號分隔。

發(fā)送數(shù)據(jù)

之后程序會禁用 DMA1 通道 4,使能串口 1 的發(fā)送 DMA 請求,并對 DMA 發(fā)送進行配置。

等待 DMA 發(fā)送完成標(biāo)志(DMA1_FLAG_TC4)置位,發(fā)送完成后,會打印USART Asyn DMA Send Complete信息。

持續(xù)運行

上述接收和發(fā)送的過程會在主循環(huán)中不斷重復(fù),只要程序不停止運行,就會持續(xù)進行串口數(shù)據(jù)的接收和發(fā)送操作,并在每次操作完成后輸出相應(yīng)的提示信息。

wKgZPGg4DiKAXMAgAAGoG2_TCRY997.png

WIZnet 是一家無晶圓廠半導(dǎo)體公司,成立于 1998 年。產(chǎn)品包括互聯(lián)網(wǎng)處理器 iMCU?,它采用 TOE(TCP/IP 卸載引擎)技術(shù),基于獨特的專利全硬連線 TCP/IP。iMCU? 面向各種應(yīng)用中的嵌入式互聯(lián)網(wǎng)設(shè)備。

WIZnet 在全球擁有 70 多家分銷商,在香港、韓國、美國設(shè)有辦事處,提供技術(shù)支持和產(chǎn)品營銷。

香港辦事處管理的區(qū)域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6067

    文章

    44960

    瀏覽量

    648761
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5610

    瀏覽量

    175309
  • 異步收發(fā)器
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    10994
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    201

    瀏覽量

    31765
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    通用同步異步收發(fā)器(USART)

    標(biāo)準(zhǔn)庫3.5實現(xiàn):《嵌入式-STM32開發(fā)指南》第二部分 基礎(chǔ)篇 - 第6章串口通信6.1串口簡介通用同步異步收發(fā)器(
    發(fā)表于 08-20 07:37

    UART通用同步異步收發(fā)器的相關(guān)資料分享

    文章目錄一、UART介紹二、項目建立及編譯1.新建項目2.代碼3.編譯三、電路連接及燒錄1.串口連接2.燒錄四、串口輸出五、總結(jié)參考鏈接一、UART介紹通用同步異步收發(fā)器(Univer
    發(fā)表于 11-29 08:30

    通用異步收發(fā)器通用同步異步串行接收/發(fā)送有哪些差異呢

    UART是什么?USART又是什么?通用異步收發(fā)器通用同步
    發(fā)表于 12-10 06:45

    通用同步異步收發(fā)器常用的串口相關(guān)寄存有哪些

    通用同步異步收發(fā)器的原理是什么?通用同步異步
    發(fā)表于 12-10 08:01

    通用同步異步收發(fā)器USART怎樣使用DMA進行連續(xù)通信呢

    通用同步異步收發(fā)器USART的主要特性有哪些?通用同步
    發(fā)表于 12-10 07:50

    USART通用同步異步收發(fā)器介紹

    1、USART介紹通用同步異步收發(fā)器(Universal Synchronous Asynchronous Receiver and Tra
    發(fā)表于 02-10 07:56

    USART通用同步異步收發(fā)器介紹

    一、USARTUSART介紹通用同步異步收發(fā)器(Universal Synchronous Asynchronous Receiver and Transmitter)是一個串行通信設(shè)
    發(fā)表于 02-15 07:08

    模擬電路網(wǎng)絡(luò)課件 第二十四節(jié):甲乙類互補對稱功率放大電路

    模擬電路網(wǎng)絡(luò)課件 第二十四節(jié):甲乙類互補對稱功率放大電路 5.2 甲乙類互補對稱功率放大電路 乙類放大電路的失真:
    發(fā)表于 09-17 11:14 ?3178次閱讀
    模擬電路網(wǎng)絡(luò)課件 <b class='flag-5'>第二十四</b>節(jié):甲乙類互補對稱功率放大電路

    STM32F2技術(shù)培訓(xùn)_通用同步異步收發(fā)器_USART

    STM32F2技術(shù)培訓(xùn)_通用同步異步收發(fā)器_USART
    發(fā)表于 12-03 17:51 ?0次下載

    通用異步收發(fā)器(UART)

    串行通信又分為異步同步兩類。UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器
    發(fā)表于 01-13 16:36 ?15次下載

    實驗四 異步收發(fā)器USART

    嵌入式異步收發(fā)器USART
    發(fā)表于 12-17 20:48 ?12次下載

    F2產(chǎn)品技術(shù)培訓(xùn)_18.通用同步異步收發(fā)器USART

    F2產(chǎn)品技術(shù)培訓(xùn)_18.通用同步異步收發(fā)器USART
    發(fā)表于 03-15 14:27 ?5次下載

    2022年第二十四屆高交會綠色低碳路線

    2022年第二十四屆高交會綠色低碳路線 第二十四屆中國國際高新技術(shù)成果交易會(簡稱:高交會)于2022年11月15-19日在深圳火熱舉辦中! 本次展會以”科技改革驅(qū)動創(chuàng)新,科技創(chuàng)新驅(qū)動發(fā)展”為主
    發(fā)表于 11-17 15:07 ?629次閱讀
    2022年<b class='flag-5'>第二十四</b>屆高交會綠色低碳路線

    第二十四屆高交會閉幕,普渡科技獲評“最佳品牌獎”

    第二十四屆高交會閉幕,普渡科技機器人獲評“最佳品牌獎” 備受矚目的第二十四屆中國國際高新技術(shù)成果交易會(以下簡稱高交會)在深圳順利閉幕。展會期間,普渡科技的精彩亮相吸引了眾多展商、觀眾、媒體記者等
    的頭像 發(fā)表于 12-13 11:06 ?966次閱讀
    <b class='flag-5'>第二十四</b>屆高交會閉幕,普渡科技獲評“最佳品牌獎”

    普源精電(RIGOL)獲頒第二十四屆“中國專利金獎”

    2023年10月14日至16日,由國家知識產(chǎn)權(quán)局和遼寧省人民政府主辦,大連市人民政府承辦的第十三屆中國國際專利技術(shù)與產(chǎn)品交易會暨第二十四屆中國專利獎頒獎大會在大連市世界博覽廣場隆重舉辦,普源精電(RIGOL)作為第二十四屆“中國專利金獎”獲獎?wù)?,攜眾多亮眼產(chǎn)品亮相本次會議
    的頭像 發(fā)表于 10-19 10:20 ?806次閱讀