stm32-USART通信

什么是usart?和其他通信又有什么區別?

如下圖:

????????USART是一種用于串行通信的設備,可以在同步和異步模式下工作。

????????usart有兩根數據線,一根發送線(tx)一根接收線(rx),它可以實現同時的雙向通信,因此是一種全雙工串行通信,但是其缺陷是支持點對點,不支持多設備

常用設備:比如usb轉ttl,藍牙模塊等

異步模式

在異步模式下,USART不使用時鐘信號來同步發送和接收的數據,而是依賴于雙方設置的相同波特率。數據傳輸通過起始位、數據位、奇偶校驗位(可選)和停止位來實現同步。

  • 起始位:表示數據傳輸的開始,通常為低電平。
  • 數據位:實際傳輸的數據位,可以是5到9位。
  • 奇偶校驗位:用于檢測傳輸錯誤(可選)。
  • 停止位:表示數據傳輸的結束,通常為高電平。
同步模式

在同步模式下,USART使用一個額外的時鐘信號(SCLK)來同步發送和接收的數據。發送方和接收方共享這個時鐘信號,確保數據傳輸的同步和準確性。

  • 數據位:與異步模式相同,可以是5到9位。
  • 時鐘信號(SCLK):用于同步發送和接收的數據。
  • 同步數據幀:數據幀的結構與異步模式相似,但在時鐘信號的同步下進行傳輸。

但是在一般不加時鐘的多,一般用異步。

數據傳輸過程
  1. 初始化:在使用USART進行通信前,需要配置USART的波特率、數據位、奇偶校驗位、停止位和工作模式(同步或異步)。
  2. 發送數據:將數據寫入發送數據寄存器,USART會根據配置的波特率和其他參數自動發送數據。
  3. 接收數據:當USART接收到數據后,會將其存儲在接收數據寄存器中,可以通過中斷或輪詢的方式讀取數據。
雙工模式介紹:
  1. 全雙工(Full Duplex):USART在全雙工模式下,可以同時發送和接收數據。它通常使用兩個獨立的數據線:TX(發送)和RX(接收)。全雙工通信提高了數據傳輸的效率,因為發送和接收操作不會互相阻塞。

  2. 半雙工(Half Duplex):雖然USART的硬件設計支持全雙工,但它也可以配置為半雙工模式。在半雙工模式下,同一時間只能發送或接收數據,而不能同時進行。這種模式通常使用一根數據線(通常是TX/RX共用一根線),需要切換方向來發送或接收數據。

  3. 單工(Simplex):單工通信是指數據只能單向傳輸,即只能發送或只能接收,不能同時進行。雖然USART硬件一般不用于單工通信,但在某些特定應用場景中,可以將其配置為單工模式

接線:

在這我們一般取用異步接線,

TX與RX要交叉連接,因為對于設備2來說,設備1的發送(tx)就是它的接收(rx),對方同理。

電平標準:

????????電平標準是數據1和數據0的表達方式,是傳輸線纜中人為規定的電壓與數據的對應關系,串口常用的電平標準有如下三種:

???????? TTL電平:+3.3V或+5V表示1,0V表示0

???????? RS232電平:-3~-15V表示1,+3~+15V表示0

????????RS485電平:兩線壓差+2~+6V表示1,-2~-6V表示0(差分信號)

串口參數時序:

波特率:串口通信的速率

起始位:標志一個數據幀的開始,固定為低電平

數據位:數據幀的有效載荷,1為高電平,0為低電平,低位先行

校驗位:用于數據驗證,根據數據位計算得來

停止位:用于數據幀間隔,固定為高電平

數據包:

HEX:

? ? ? ?

文本:

疑問解答:

看到這是不是有了一些疑問?

1.既然大部分是利用異步通信,那么他們是如何保證數據發送和接收不會錯誤?

2.usart和uart是一個嗎?有區別嗎?

3.usart和iic、rs485、can等又有什么區別?

1.????????

????????既然雙設備利用串行雙向發送,那么發送和接收肯定要約定好一個頻率,主機按照一定頻率發送,從機按照一定頻率接收,這樣子才不會出現丟包、空包。因此,在這里面,就出現了一種通信參數,叫做波特率。????????

????????發送端和接收端必須配置相同的波特率,即每秒鐘傳輸的比特數。以此保證串口每發送的一位數據,其都能接收到,常見波特率:9600、115200、19200。

2.

  • USART:支持同步和異步兩種模式。在同步模式下,USART使用時鐘信號進行數據同步傳輸,這意味著發送和接收需要共享一個時鐘信號。在異步模式下,USART的工作方式與UART相同,不需要共享時鐘信號。
  • UART:只支持異步模式,不需要共享時鐘信號,發送和接收數據通過串行數據線進行。

????????主要的區別在于 USART 具有同步傳輸的能力,可以通過外部時鐘源進行精確的時鐘同步,而 UART 只能支持異步傳輸。USART 在物理層面的連接和電信號處理方面也稍有區別。

????????因此,選擇使用 UART 還是 USART 取決于具體的應用需求。如果只需要基本的異步傳輸功能,可以選擇 UART。如果需要同步傳輸或更高級的功能,如多主機通信、同步通信等,可以選擇 USART。


3.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36782.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36782.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36782.shtml

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

相關文章

2D卷積核處理3D(時序)數據

2D卷積核處理3D(時序)數據 一、Make A Video的處理方法(PseudoConv3d)二、Tune A Video的處理方法(InflatedConv3d)比較與分析相似點不同點結論 Conv2D一般用于處理image,dim一般是4&#xff0c…

準備了一些簡單的面試題

當了一次面試官,主要是面試爬蟲崗位,具體涉及scrapy爬蟲框架和一些數據存儲的小問題。具體的問題如下: scrapy框架如何將單機版爬蟲改為分布式爬蟲【使用scrapy_redis】,具體來講需要修改哪幾個組件的哪些具體部分Spider 1. 如何…

python3 List常用函數詳細解釋

python中 列表(list)的copy辦法 1.先解決一個報錯。 a [1,2,3] b a.copy print( b)報錯: AttributeError: builtin_function_or_method object has no attribute copy這是因為a.copy語句并沒有執行copy函數,而是把a.copy這個函…

React Antd ProTable 如何設置類似于Excel的篩選框

React Antd ProTable 如何設置類似于Excel的篩選框 目標:在web頁面的table表格中完成類似于EXCEL的Filter篩選功能。 示例圖:點擊標題列上方的漏斗狀圖標,即可對數據進行篩選。 ProTable 前景提要 ProTable API中有說明,是有…

解決所有終端中文輸出亂碼的問題

一、系統自帶的cmd.exe 以及 Git的bash.exe、sh.exe、git-bash.exe和git-cmd.exe,和PowerShell默認使用“當前系統區域設置”設定好的936 (ANSI/OEM - 簡體中文 GBK)語言編碼。 1、[當前代碼頁] 的936 (ANSI/OEM - 簡體中文 GBK) 是導致中文亂碼的原因 在控制面板→…

網絡抓包分析工具

摘要 隨著網絡技術的快速發展,網絡數據的傳輸和處理變得日益復雜。網絡抓包分析工具作為網絡故障排查、性能優化以及安全審計的重要工具,對于提升網絡管理的效率和準確性具有重要意義。本文旨在設計并實現一款高效、易用的網絡抓包分析工具,…

期末測試一

字符數組的排序注意的問題 &#xff1a; 1.對于輸入字符的時候 如果給出了要輸入幾個字符 n >>>>> for ( i 0 ; i < n ;i ) { scanf("%c",&ch); } 如果說直到輸入到換行符結束 >>>>>>while ( ch! \ n ) 這個需要額…

CSS|04 復合選擇器偽類選擇器屬性選擇器美化超鏈接

基本選擇器&#xff1a;見上篇基本選擇器 復合選擇器選擇器1,選擇器2{屬性:值;} 多元素選擇器&#xff0c;同時匹配選擇器1和選擇器2&#xff0c;多個選擇器之間用逗號分隔舉例&#xff1a; p,h1,h2{margin:0px;}E F{屬性:值;} 后代元素選擇器&#xff0c;匹配所有屬于E元素后…

基于長短時記憶網絡LSTM的TE過程故障診斷(MATLAB R2021B)

實驗所用 TE 仿真過程的數據集是網上公開的數據集&#xff0c;該數據集中的訓練集和測試集分別包含 20 種故障工況和一種正常工況數據&#xff0c;其中所采集的每個樣本信號包含 41 個測量變量和 11 個控制變量&#xff0c;所以每個時刻采集到的樣本有 52 個觀測變量。 TE 仿真…

NoSQL之Redis配置與管理

目錄 一、關系型數據庫和非關系型數據庫 1.關系型數據庫 2.非關系型數據庫 3.關系型數據庫和非關系型數據庫區別 二、Redis 1.Redis簡介 2.Redis 的優點 3.Redis 使用場景 4.Redis的數據類型 5.哪些數據適合放入緩存中&#xff1f; 6.Redis為什么這么快&#xff1f;…

BUG:AttributeError: module ‘websocket‘ has no attribute ‘enableTrace’

AttributeError: module ‘websocket’ has no attribute enableTrace’ 環境 windows 11 Python 3.10websocket 0.2.1 websocket-client 1.8.0 websockets 11.0.3 rel 0.4.9.19詳情 一開始…

ActiveMQ camel

游覽器輸入地址: http://127.0.0.1:8161/admin/ 訪問activemq管理臺 賬號和密碼默認為: admin/admin# yml配置的密碼也是如下的密碼 activemq:url: failover:(tcp://localhost:61616)username: adminpassword: adminComponent public class ActiveMqReceiveRouter extends Rout…

AudioLM音頻生成模型

GPT-4o (OpenAI) AudioLM&#xff08;Audio Language Model&#xff09;是一種生成音頻的深度學習模型。它可以通過學習語言模型的結構來生成連貫和高質量的音頻信號。這類模型通常應用于語音合成、音樂生成和音頻內容生成等領域。以下是一些與AudioLM相關的核心概念和技術細…

【JavaEE進階】Spring AOP使用篇

目錄 1.AOP概述 2.SpringAOP快速入門 2.1 引入AOP依賴 2.2 編寫AOP程序 3. Spring AOP詳解 3.1 Spring AOP 核心概念 3.1.1切點(Pointcut) 3.1.2 連接點 (Join Point) 3.1.3 通知(Advice) 3.1.4 切面(Aspect) 3.2 通知類型 3.3PointCut 3.4 切面優先級 3.5 切點表…

基于經典滑膜控制的永磁同步電機調速系統MATLAB仿真

滑膜控制器 取PMSM狀態變量為&#xff1a; ωref為目標轉速&#xff0c;ωm為電機輸出轉速。將此式求導得&#xff1a; 定義系統滑模面函數為&#xff1a; 對滑模面函數求導 在電機實際控制時&#xff0c;滑模控制方法存在高頻抖振問題&#xff0c;則需要選取合適的指數趨近率…

web前端——css(一篇教會網頁制作)

目錄 一、基本語法 1.行內樣式表 2.內嵌樣式表 3.外部樣式表 二、選擇器 1.標簽選擇器 2.類選擇器 3.id 選擇器 4.通配選擇器 三、常見修飾 1.文本 2.背景 3.列表 4.偽類 5.透明度 6.塊級、行級、行級塊標簽 7.div 和 span 四、盒子模型&#xff08;重點&…

【PostgreSQL】守護數據安全:事務與數據完整性管理

目錄 事務管理&#xff1a;確保操作的原子性 事務的概念與重要性 事務的啟動與提交 事務的回滾&#xff08;ROLLBACK&#xff09;&#xff08; 數據一致性與隔離級別 隔離級別的解釋 設置隔離級別 錯誤處理與事務的高級策略 異常處理&#xff08;SAVEPOINT & EXCE…

25屆最近5年重慶郵電大學自動化考研院校分析

重慶郵電大學 目錄 一、學校學院專業簡介 二、考試科目指定教材 三、近5年考研分數情況 四、近5年招生錄取情況 五、最新一年分數段圖表 六、歷年真題PDF 七、初試大綱復試大綱 八、學費&獎學金&就業方向 一、學校學院專業簡介 二、考試科目指定教材 1、考試…

[數據集][目標檢測]電纜鋼絲繩線纜缺陷檢測數據集VOC+YOLO格式1800張3類別

數據集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路徑的txt文件&#xff0c;僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數)&#xff1a;1800 標注數量(xml文件個數)&#xff1a;1800 標注數量(txt文件個數)&#xff1a;1800 標注…

單例模式(下)

文章目錄 文章介紹步驟安排及單例講解step1&#xff1a;注冊單例類型&#xff08;main.cpp&#xff09;step2&#xff1a;定義類和私有構造函數&#xff08;keyboardinputmanager.h&#xff09;step3:&#xff08;keyboardinputmanager.cpp&#xff09;step4&#xff1a;在qml中…