初學者STM32—USART

一、簡介

USART(Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/異步收發器)是一種常見的串行通信協議,廣泛應用于微控制器、傳感器、模塊和其他電子設備之間的數據傳輸。本節課主要學習USART的基本結構以及其原理。

二、通信接口

通信的目的:將一個設備的數據傳送到另一個設備,擴展硬件系統

在STM32芯片當中,有一些功能是沒有的,比如藍牙、WIFI、陀螺儀等,這些外掛的模塊是存有數據的,但是需要將數據傳輸到STM32里面,這就需要通過USART串口通信進行數據傳輸給芯片

通信協議:制定通信的規則,通信雙方按照協議規則進行數據收發,下圖為不同通信模式的通信協議。

1、工作方式

半雙工:發送的時候不能接收,接收的時候不能發送

全雙工:發送和接收能夠同步進行?

2、時鐘

為了讓數據傳輸的時候要能夠準確的采集數據,就引入了時鐘,時鐘分為同步、異步兩種

I2C和SPI因為有單獨的時鐘線,所以能夠實現同步

USART、CAN、USB沒有時鐘線,所以只能通過約定采樣頻率和引入幀頭幀尾進行采樣位置對齊

3、電平特性

單端:通信的高低電平是相對于GND的,所以雙方必須接GND引腳,否則無法通信

差分:靠兩個差分引腳電壓差實現信號傳輸,可以不需要接GND,但是一些USB協議里需要,不接GND是不行的。

4、引腳說明:?

USART????????TX:發送? ? ? ? RX:接收

I2C? ? ? ? SCl:時鐘線? ? ? ? SDA:數據線?

SPI? ? ? ? SCLK:時鐘????????MOSI:主出從入????????MISO:出入從出????????CS:片選

片選:因為片選的存在所以SPI能夠實現多設備的接入

三、串口通信的設備

???????串口是一種廣泛應用的通信接口,具有成本低、使用簡便和線路簡單的特點,能夠實現兩個設備間的雙向通信。一般來說串口是點對點的設備,兩個設備之間的通信。

????????通過串口,單片機可以與其他單片機、計算機以及各類功能模塊進行通信。這不僅大幅拓展了單片機的應用范圍,還顯著提升了單片機系統的硬件能力。

圖中的的設備都是可以通過USART實現設備之間的通信

1、USB轉串口模塊,采用的是CH340芯片,它可以實現將串口協議轉USB協議

2、陀螺儀傳感器,可以測量角速度、加速度等參數,左側引腳是串口,右側是I2C

3、藍牙模塊,下面接口是串口連接,這樣就可以實現單片機與手機的互聯硬件電路

在簡單雙向串口通信中,需要連接兩根通信線:發送端(TX)和接收端(RX),TX和RX需要交叉連接

若僅需單向數據傳輸,則只需連接一根通信線即可

當通信雙方電平標準不一致時,需添加電平轉換芯片

假設設備1是STM32,設備2是藍牙模塊,藍牙模塊是沒有電源的,那么VCC就可以連接STM32的VCC實現子模塊的供電(要滿足供電要求,不同電平需要加電平轉換模塊)

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

TTL電平:+3.3V+5V表示10V表示0

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

RS485電平:兩線壓差+2~+6V表示1-2~-6V表示0(差分信號)(通信距離可達上千米)

四、串口參數以及時序

波特率:決定串口通信傳輸速率的參數,常見的波特率包括9600、19200、115200等。波特率越高,相同時間內傳輸的數據越快。波特率設置需保證通信雙方一致,否則會導致數據解析錯誤。

起始位:數據幀開始的標識信號,始終保持低電平狀態,其作用是通知接收方準備接收數據,并作為同步時鐘的參考點。

數據位:承載實際數據的有效位,高位表示1(高電平),低位表示0(低電平),按從低到高順序傳輸

校驗位:基于數據位計算得出的校驗值,用于檢測傳輸準確性

校驗位用于檢測數據傳輸中的錯誤,常見校驗方式包括:

????????偶校驗:數據位和校驗位中?1?的個數為偶數。

????????奇校驗:數據位和校驗位中?1?的個數為奇數。

????????無校驗:不添加校驗位。

停止位:標記數據幀結束的間隔信號,始終保持高電平

無校驗位:八位載荷?

?有校驗位:八位載荷 ,一位校驗

在末尾插入一個校驗位

偶:傳輸的是0000 1111就插入一個0,如果傳輸的是0000 1110就插入一個1,使1滿足偶數個

奇:傳輸的是0000 1111就插入一個1,如果傳輸的是0000 1110就插入一個0,使1滿足奇數個

但是不一定是百分百正確判斷,它的存在只是減少數據傳輸的不正確。?假設有兩個數據出錯了,但是沒有改變奇偶特性就不會檢出錯誤。

五、總結

????????USART是一種通用串行通信協議,用于微控制器與外部設備的數據傳輸。其支持同步/異步通信,具有全雙工和半雙工兩種工作方式。通信協議包含起始位(低電平)、數據位(高低電平表示1/0)、可選校驗位(奇偶校驗)和停止位(高電平)。電平標準包括TTL、RS232和RS485三種,波特率需雙方一致以確保通信正確。USART通過TX(發送)和RX(接收)引腳實現設備間連接,適用于STM32與傳感器、藍牙模塊等外設的數據交互,具有成本低、接線簡單的特點。不同電平設備通信時需使用轉換芯片。

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

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

相關文章

A316-V71-Game-V1:虛擬7.1游戲聲卡評估板技術解析

引言 隨著游戲產業的蓬勃發展,沉浸式音頻體驗成為提升游戲體驗的關鍵因素。本文將介紹一款專為游戲音頻設計的評估板——A316-V71-Game-V1,這是一款基于XMOS XU316技術的虛擬7.1游戲聲卡評估平臺。產品概述 A316-V71-Game-V1是一款專為虛擬7.1游戲聲卡設…

小白成長之路-部署Zabbix7

文章目錄一、概述二、案例三、第二臺虛擬機監控總結一、概述 二、案例 實驗開始前: systemctl disable --now firewalld setenforce 0 Rocky9.4部署Zabbix7 一、配置安裝源 rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rocky/9/x86_64/zabbix-release-7.0-5.el…

飛書非正常顯示與權限問題解決方案

可能是本地緩存導致的,讓員工參考以下方法操作下:看不懂下面的建議刪除飛書再重新安裝;博主就遇到過版本低的原因,試過下面方面都不行。結果就是刪除重新安裝,博主是mac電腦。Windows 系統關閉飛書。如果不能關閉&…

第十八節:第八部分:java高級:動態代理設計模式介紹、準備工作、代碼實現

程序為什么需要代理以及代理長什么樣如何為java對象創建一個代理對象代碼: BigStar類 package com.itheima.day11_Proxy;public class BigStar implements Star {private String name;public BigStar(String name) {this.name name;}public String sing(String nam…

Grok網站的后端語言是php和Python2.7

老馬的Grok模型 https://grok.com/#subscribephp語法這里還出現了兩個bug后端語言能看到是php和python2.7要說卷還是得看中國的程序員啊,天天就是新技術,趕不上別人就35歲畢業退休

開發者的AI認知指南:用大模型重新理解人工智能(下)

第三篇 深度學習探索:神經網絡的奧秘解析 從手工特征工程到自動特征學習,深度學習為什么能讓AI"看懂"圖片、"聽懂"語音?讓我們用開發者的視角揭開神經網絡的神秘面紗。 深度學習的"代碼革命" 還記得我們在第二…

基于單片機智能消毒柜設計

傳送門 👉👉👉👉其他作品題目速選一覽表 👉👉👉👉其他作品題目功能速覽 概述 本設計實現了一種基于單片機的高效智能消毒柜系統,集精準滅菌、安全防護與能耗管理于…

什么是GCN?GCN與GNN有哪些區別?

文章目錄1. 什么是圖神經網絡(GNN)GNN通用計算框架2. 圖卷積網絡(GCN)詳解2.1 GCN核心公式2.2 GCN特點3. GCN與GNN的區別4. 如何選擇GCN或GNN5. 典型應用案例6. 代碼示例(PyTorch Geometric)7. 發展趨勢1. 什么是圖神經網絡(GNN) 圖神經網絡(Graph Neural Network, GNN)是一類…

【HarmonyOS】ArkUI - 聲明式開發范式

一、UI 開發框架 在 HarmonyOS 開發中,官方主要推出了兩種開發框架,一個是基于 Java 的,一個是基于 ArkTS 的。 基于 Java:應用中所有用戶界面元素都由基礎組件 Component 和組件容器 ComponentContainer 對象構成。基于 ArkTS&…

Python 繪制各類折線圖全指南:從基礎到進階

折線圖是數據可視化中最常用的圖表類型之一,適用于展示數據隨時間或有序類別變化的趨勢。無論是分析銷售額波動、溫度變化,還是對比多組數據的趨勢差異,折線圖都能直觀呈現數據的變化規律。本文將詳細介紹如何用 Python 的 Matplotlib、Seabo…

MySql 運維性能優化

內存相關配置 innodb_buffer_pool_size:這是 InnoDB 存儲引擎最重要的參數,用于緩存數據和索引。建議設置為服務器可用內存的 50%-70%(對于專用數據庫服務器)。 innodb_buffer_pool_size 8G # 根據服務器內存調整innodb_log_buf…

UG 圖形操作-找圓心

【1】點擊分析-測量【2】 選擇點,點對話框【3】選擇圓弧中心【4】 選擇對象

Spring Boot 配置文件解析

一、前言SpringBoot 使用一個全局的配置文件,配置文件名固定的;application.propertiesapplication.yml配置文件的作用:修改SpringBoot自動配置的默認值;SpringBoot在底層都給我們自動配置好;YAML(YAML Ain…

【JS】事件類型(可addEventListener監聽)

文章目錄1. 窗口/視圖相關事件2. 鼠標事件3. 鍵盤事件4. 焦點事件5. 表單事件6. 觸摸事件(移動端)7. 其他重要事件使用示例 // 監聽滾動事件 useEffect(() > {const handleScroll () > {console.log("當前滾動位置:", window.scrollY);…

【3GPP】5G專用詞匯1

〇、在5G通信領域,類似RRU(遠端射頻單元)、UE(用戶終端)、BS(基站)的專業術語非常豐富,涵蓋設備、功能、架構、技術等多個層面。以下是分類整理的常見5G名詞及其說明: 一…

基于 FFT + VMD 預處理的 1DCNN?Informer 雙支路并行、多頭注意力融合分類模型

1? 引言 現代工業設備的運行狀態高度復雜、故障類型日趨多樣,單一特征處理或單一路徑模型常難以兼顧高精度與實時性。本期推出的模型**“FFT+VMD→1DCNN?Informer→多頭注意力”**流水線,將頻域分解與時序建模結合,通過雙支路并行特征提取和注意力融合,在旋轉機械、電力…

ndarray的創建(小白五分鐘從入門到精通)

ndarray的創建用途方法語法示例核心作用輸出示例基礎構造? 從 Python 數據結構創建np.array()np.array([[1, 2], [3, 4]])將列表/元組轉換為 ndarrayarray([[1, 2], [3, 4]])? 復制數組np.copy()np.copy(arr)創建獨立副本(深拷貝)與原數組相同但不共享…

考研數據結構Part1——單鏈表知識點總結

一、前言單鏈表是線性表的鏈式存儲結構,作為數據結構中最基礎也是最重要的線性結構之一,在考研數據結構科目中占有重要地位。本文將總結帶頭結點單鏈表的各項基本操作,包括初始化、插入、刪除、查找等,并附上完整C語言實現代碼&am…

筆試——Day15

文章目錄第一題題目思路代碼第二題題目:思路代碼第三題題目:思路代碼第一題 題目 平方數 思路 判斷?個數開根號之后左右兩個數的平?,哪個最近即可 代碼 第二題 題目: 分組 思路 枚舉所有的結果,找到第一個復合要…

物聯網全流程開發記錄

問題 有數據采集設備,服務器,上位機用戶顯示三部分,采集設備將采集的數據發送至服務器。服務器將數據保存,上位機讀取服務器保存的數據庫顯示。當出現多設備,多用戶時,如何通過多設備對應多用戶&#xff0c…