国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32的串口通信原理介紹

奈因PCB電路板設計 ? 來源:STM32嵌入式開發 ? 作者:STM32嵌入式開發 ? 2021-08-26 09:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

介紹串口通信

按照數據傳送方向分類

單工:數據傳輸只支持數據在一個方向上傳輸

半雙工:允許數據在兩個方向上傳輸。但是,在某一時刻,只允許數據在一個方向上傳輸,它實際上是一種切換方向的單工通信;它不需要獨立的接收端和發送端,兩者可以合并一起使用一個端口

全雙工:允許數據同時在兩個方向上傳輸。因此,全雙工通信是兩個單工通信方式的結合,需要獨立的接收端和發送端

按照通信方式分類

同步通信:帶時鐘同步信號傳輸。比如:SPI,IIC通信接口

異步通信:不帶時鐘同步信號。比如:UART(通用異步收發器),單總線

在同步通訊中,收發設備上方會使用一根信號線傳輸信號,在時鐘信號的驅動下雙方進行協調,同步數據。例如,通訊中通常雙方會統一規定在時鐘信號的上升沿或者下降沿對數據線進行采樣。

在異步通訊中不使用時鐘信號進行數據同步,它們直接在數據信號中穿插一些用于同步的信號位,或者將主題數據進行打包,以數據幀的格式傳輸數據。通訊中還需要雙方規約好數據的傳輸速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。

在同步通訊中,數據信號所傳輸的內容絕大部分是有效數據,而異步通訊中會則會包含數據幀的各種標識符,所以同步通訊效率高,但是同步通訊雙方的時鐘允許誤差小,稍稍時鐘出錯就可能導致數據錯亂,異步通訊雙方的時鐘允許誤差較大。

STM32串口通信基礎

STM32的串口通信接口有兩種,分別是:UART(通用異步收發器)、USART(通用同步異步收發器)。而對于大容量STM32F10x系列芯片,分別有3個USART和2個UART。

UART引腳連接方法

RXD:數據輸入引腳,數據接收

TXD:數據發送引腳,數據發送

對于兩個芯片之間的連接,兩個芯片GND共地,同時TXD和RXD交叉連接。這里的交叉連接的意思就是,芯片1的RxD連接芯片2的TXD,芯片2的RXD連接芯片1的TXD。這樣,兩個芯片之間就可以進行TTL電平通信了。

若是芯片與PC機(或上位機)相連,除了共地之外,就不能這樣直接交叉連接了。盡管PC機和芯片都有TXD和RXD引腳,但是通常PC機(或上位機)通常使用的都是RS232接口(通常為DB9封裝),因此不能直接交叉連接。RS232接口是9針(或引腳),通常是TxD和RxD經過電平轉換得到的。故,要想使得芯片與PC機的RS232接口直接通信,需要也將芯片的輸入輸出端口也電平轉換成RS232類型,再交叉連接。

經過電平轉換后,芯片串口和RS232的電平標準是不一樣的:

單片機是TTL電平:+5V表示1,0V表示0

RS232是負邏輯電平,-3~-15V為1,+3~+15V為0

所以單片機串口與PC串口通信就應該遵循下面的連接方式:在單片機串口與上位機給出的RS232口之間,通過電平轉換電路(如下面圖中的Max232芯片) 實現TTL電平與RS232電平之間的轉換。下圖中的P10,也就是上文中提到的DB9。

STM32的UART特點

全雙工異步通信;

分數波特率發生器系統,提供精確的波特率。發送和接受共用的可編程波特率,最高可達4.5Mbits/s;

可編程的數據字長度(8位或者9位);

可配置的停止位(支持1或者2位停止位);

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

單獨的發送器和接收器使能位;

檢測標志:① 接受緩沖器 ②發送緩沖器空 ③傳輸結束標志;

多個帶標志的中斷源,觸發中斷;

其他:校驗控制,四個錯誤檢測標志。

串口通信過程

STM32中UART參數

串口通訊的數據包由發送設備通過自身的TXD接口傳輸到接收設備的RXD接口,通訊雙方的數據包格式要規約一致才能正常收發數據。STM32中串口異步通信需要定義的參數:起始位、數據位(8位或者9位)、奇偶校驗位(第9位)、停止位(1,15,2位)、波特率設置。

UART串口通信的數據包以幀為單位,常用的幀結構為:1位起始位+8位數據位+1位奇偶校驗位(可選)+1位停止位。

奇偶校驗位分為奇校驗和偶校驗兩種,是一種簡單的數據誤碼校驗方法。奇校驗是指每幀數據中,包括數據位和奇偶校驗位的全部9個位中1的個數必須為奇數;偶校驗是指每幀數據中,包括數據位和奇偶校驗位的全部9個位中1的個數必須為偶數。

校驗方法除了奇校驗(odd)、偶校驗(even)之外,還可以有:0 校驗(space)、1 校驗(mark)以及無校驗(noparity)。0/1校驗:不管有效數據中的內容是什么,校驗位總為0或者1。

這個框圖分成上、中、下三個部分,具體的可以看《STM32中文參考手冊》中的描述。

框圖的上部分,數據從RX進入到接收移位寄存器,后進入到接收數據寄存器,最終供CPU或者DMA來進行讀取;數據從CPU或者DMA傳遞過來,進入發送數據寄存器,后進入發送移位寄存器,最終通過TX發送出去。

然而,UART的發送和接收都需要波特率來進行控制的,波特率是怎樣控制的呢?

這就到了框圖的下部分,在接收移位寄存器、發送移位寄存器都還有一個進入的箭頭,分別連接到接收器控制、發送器控制。而這兩者連接的又是接收器時鐘、發送器時鐘。也就是說,異步通信盡管沒有時鐘同步信號,但是在串口內部,是提供了時鐘信號來進行控制的。而接收器時鐘和發送器時鐘又是由什么控制的呢?

可以看到,接收器時鐘和發送器時鐘又被連接到同一個控制單元,也就是說它們共用一個波特率發生器。同時也可以看到接收器時鐘(發生器時鐘)的計算方法、USRRTDIV的計算方法。

這里需要知道一個知識點:

UART1時鐘:PCLK2(高速)

UART2、UART3、UART4時鐘:PCLK1(低速)

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 通信
    +關注

    關注

    18

    文章

    6389

    瀏覽量

    140058
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373471
  • 串口
    +關注

    關注

    15

    文章

    1619

    瀏覽量

    82837

原文標題:一文為你講清楚STM32串口通信基本原理

文章出處:【微信號:pcbgood,微信公眾號:奈因PCB電路板設計】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32驅動串口屏,STM32F103C8T6串口發送指令控制HMI串口

    僅是一部分常用的基礎指令,更多更仔細的指令或者函數可以訪問陶晶馳資料官網。 硬件和接線 硬件需要一塊STM32F103C8T6的開發板,杜邦線諾干,2.4寸串口屏一塊 接線 串口STM32
    的頭像 發表于 02-10 17:07 ?148次閱讀
    <b class='flag-5'>STM32</b>驅動<b class='flag-5'>串口</b>屏,<b class='flag-5'>STM32</b>F103C8T6<b class='flag-5'>串口</b>發送指令控制HMI<b class='flag-5'>串口</b>屏

    單片機中的串口通訊串行同步通信與串行異步通信

    中始終保持精確的同步時鐘,即發送時鐘和接收時鐘要嚴格的同步。常用的做法是兩個設備使用同一個時鐘源。 在串口通信與編程中應用最多的是異步通信方式。STM32
    發表于 01-15 08:06

    基于FPGA開發板TSP的串口通信設計

    本文詳細介紹基于Terasic FPGA開發板TSP(又名C5P和OSK)和其板載CP2102N USB-UART橋接芯片的串口通信系統設計與實現。系統采用Verilog HDL編寫UART收發控制器,通過CP2102N實現FP
    的頭像 發表于 10-15 11:05 ?4469次閱讀
    基于FPGA開發板TSP的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>設計

    串口通信有哪些方式

    串口通信(Serial Communication)是一種通過串行方式逐位傳輸數據的通信方式,廣泛應用于嵌入式系統、工業控制、儀器儀表等領域。其通信方式可根據不同的分類標準劃分為多種類
    的頭像 發表于 09-28 18:02 ?1096次閱讀

    關于stm32f4zgt6和mspm0g3507串口通信問題

    本人在使用stm32f4zgt6和mspm0g3507串口通信時出現問題,情況如下: m0芯片使用軟件超時解析進行數據接收,使用標準庫的transmit函數進行數據發送。 stm32使
    發表于 09-01 11:11

    PLC串口自由協議通信概述

    串口自由協議通信是一種靈活的串行通信方式。在該模式下,開發者無需遵循特定標準協議,可根據實際需求自由定義數據格式與交互規則。
    的頭像 發表于 08-07 09:15 ?2154次閱讀
    PLC<b class='flag-5'>串口</b>自由協議<b class='flag-5'>通信</b>概述

    智嵌物聯串口轉光纖轉換器-延長串口通信距離,增強抗干擾性能

    智嵌物聯研發的串口光纖收發器是將RS-485/422/RS232接口信號轉換為光纖接口傳輸,通信距離可達20Km,大大延長串口通信距離以及抗干擾性能。設備可自適應
    的頭像 發表于 06-27 17:08 ?739次閱讀
    智嵌物聯<b class='flag-5'>串口</b>轉光纖轉換器-延長<b class='flag-5'>串口</b><b class='flag-5'>通信</b>距離,增強抗干擾性能

    ESP32用作經典藍牙串口透傳模塊與手機進行串口通信

    本文介紹了如何把ESP32用作一個藍牙串口透傳設備使用,其功能和常用的HC-05/06串口藍牙設備一樣。并與手機藍牙串口APP進行雙向藍牙通信
    的頭像 發表于 06-20 17:45 ?3001次閱讀
    ESP32用作經典藍牙<b class='flag-5'>串口</b>透傳模塊與手機進行<b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    使用USB轉TTL串口板和ST-LINK調試下載器給STM32單片機下載程序

    本文詳細介紹如何使用ST-LINK/V2和USB轉TTL串口板為STM32單片機下載程序,包括STM32啟動模式、JTAG與SWD接口對比、驅動安裝及官方軟件
    的頭像 發表于 06-20 17:26 ?2757次閱讀
    使用USB轉TTL<b class='flag-5'>串口</b>板和ST-LINK調試下載器給<b class='flag-5'>STM32</b>單片機下載程序

    第七章 串口通信

    本章介紹了W55MH32的串口通信,講述了數據通信基礎概念、串口通信協議和特性與功能,以及DMA
    的頭像 發表于 05-26 17:00 ?997次閱讀
    第七章 <b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    STM32串口下載軟件(FLYMCU)

    STM32串口下載軟件(FLYMCU),經典版本,親試可用。
    發表于 04-09 15:59 ?11次下載

    輕松解碼串口通信

    說到通信,在我們的生活方方面面體現的淋漓盡致,比如手機信號,WiFi 等這些無線通信更是近些年 熱點并且各種通信設備都出來了,真的是科技社會,對我們的生活太方便了對于通信,我們今天聊一
    發表于 03-24 14:22 ?4次下載

    串口通信的優勢與缺點

    串口通信以其簡單實現、低成本、遠距離傳輸、良好兼容性和強實時性著稱,適用于多種場景,但也存在傳輸速度慢、抗干擾能力弱、距離受限、靈活性不足及資源占用多的缺點,需根據實際需求選擇使用。
    的頭像 發表于 03-13 15:01 ?1599次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>的優勢與缺點

    STM32F411RE NUCLEO UART串口通信無法接收是什么原因引起的?

    STM32F411RE NUCLEO UART串口通信無法接收
    發表于 03-13 08:00

    STM32串口通信,上電和斷電串口助手會返回數是怎么回事?

    STM32串口通信,上電和斷電串口助手會返回數,是為什么呢
    發表于 03-12 07:57