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

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

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

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

STM32的串口通信原理介紹

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

掃碼添加小助手

加入工程師交流群

介紹串口通信

按照數(shù)據(jù)傳送方向分類

單工:數(shù)據(jù)傳輸只支持?jǐn)?shù)據(jù)在一個(gè)方向上傳輸

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

全雙工:允許數(shù)據(jù)同時(shí)在兩個(gè)方向上傳輸。因此,全雙工通信是兩個(gè)單工通信方式的結(jié)合,需要獨(dú)立的接收端和發(fā)送端

按照通信方式分類

同步通信:帶時(shí)鐘同步信號(hào)傳輸。比如:SPI,IIC通信接口

異步通信:不帶時(shí)鐘同步信號(hào)。比如:UART(通用異步收發(fā)器),單總線

在同步通訊中,收發(fā)設(shè)備上方會(huì)使用一根信號(hào)線傳輸信號(hào),在時(shí)鐘信號(hào)的驅(qū)動(dòng)下雙方進(jìn)行協(xié)調(diào),同步數(shù)據(jù)。例如,通訊中通常雙方會(huì)統(tǒng)一規(guī)定在時(shí)鐘信號(hào)的上升沿或者下降沿對(duì)數(shù)據(jù)線進(jìn)行采樣。

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

在同步通訊中,數(shù)據(jù)信號(hào)所傳輸?shù)膬?nèi)容絕大部分是有效數(shù)據(jù),而異步通訊中會(huì)則會(huì)包含數(shù)據(jù)幀的各種標(biāo)識(shí)符,所以同步通訊效率高,但是同步通訊雙方的時(shí)鐘允許誤差小,稍稍時(shí)鐘出錯(cuò)就可能導(dǎo)致數(shù)據(jù)錯(cuò)亂,異步通訊雙方的時(shí)鐘允許誤差較大。

STM32串口通信基礎(chǔ)

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

UART引腳連接方法

RXD:數(shù)據(jù)輸入引腳,數(shù)據(jù)接收

TXD:數(shù)據(jù)發(fā)送引腳,數(shù)據(jù)發(fā)送

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

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

經(jīng)過電平轉(zhuǎn)換后,芯片串口和RS232的電平標(biāo)準(zhǔn)是不一樣的:

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

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

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

STM32的UART特點(diǎn)

全雙工異步通信;

分?jǐn)?shù)波特率發(fā)生器系統(tǒng),提供精確的波特率。發(fā)送和接受共用的可編程波特率,最高可達(dá)4.5Mbits/s;

可編程的數(shù)據(jù)字長(zhǎng)度(8位或者9位);

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

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

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

檢測(cè)標(biāo)志:① 接受緩沖器 ②發(fā)送緩沖器空 ③傳輸結(jié)束標(biāo)志;

多個(gè)帶標(biāo)志的中斷源,觸發(fā)中斷;

其他:校驗(yàn)控制,四個(gè)錯(cuò)誤檢測(cè)標(biāo)志。

串口通信過程

STM32中UART參數(shù)

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

UART串口通信的數(shù)據(jù)包以幀為單位,常用的幀結(jié)構(gòu)為:1位起始位+8位數(shù)據(jù)位+1位奇偶校驗(yàn)位(可選)+1位停止位。

奇偶校驗(yàn)位分為奇校驗(yàn)和偶校驗(yàn)兩種,是一種簡(jiǎn)單的數(shù)據(jù)誤碼校驗(yàn)方法。奇校驗(yàn)是指每幀數(shù)據(jù)中,包括數(shù)據(jù)位和奇偶校驗(yàn)位的全部9個(gè)位中1的個(gè)數(shù)必須為奇數(shù);偶校驗(yàn)是指每幀數(shù)據(jù)中,包括數(shù)據(jù)位和奇偶校驗(yàn)位的全部9個(gè)位中1的個(gè)數(shù)必須為偶數(shù)。

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

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

框圖的上部分,數(shù)據(jù)從RX進(jìn)入到接收移位寄存器,后進(jìn)入到接收數(shù)據(jù)寄存器,最終供CPU或者DMA來進(jìn)行讀?。粩?shù)據(jù)從CPU或者DMA傳遞過來,進(jìn)入發(fā)送數(shù)據(jù)寄存器,后進(jìn)入發(fā)送移位寄存器,最終通過TX發(fā)送出去。

然而,UART的發(fā)送和接收都需要波特率來進(jìn)行控制的,波特率是怎樣控制的呢?

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

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

這里需要知道一個(gè)知識(shí)點(diǎn):

UART1時(shí)鐘:PCLK2(高速)

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

責(zé)任編輯:haq

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

    關(guān)注

    18

    文章

    6389

    瀏覽量

    140057
  • STM32
    +關(guān)注

    關(guān)注

    2309

    文章

    11162

    瀏覽量

    373471
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1619

    瀏覽量

    82835

原文標(biāo)題:一文為你講清楚STM32串口通信基本原理

文章出處:【微信號(hào):pcbgood,微信公眾號(hào):奈因PCB電路板設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    STM32驅(qū)動(dòng)串口屏,STM32F103C8T6串口發(fā)送指令控制HMI串口

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

    單片機(jī)中的串口通訊串行同步通信與串行異步通信

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

    基于FPGA開發(fā)板TSP的串口通信設(shè)計(jì)

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

    串口通信有哪些方式

    串口通信(Serial Communication)是一種通過串行方式逐位傳輸數(shù)據(jù)的通信方式,廣泛應(yīng)用于嵌入式系統(tǒng)、工業(yè)控制、儀器儀表等領(lǐng)域。其通信方式可根據(jù)不同的分類標(biāo)準(zhǔn)劃分為多種類
    的頭像 發(fā)表于 09-28 18:02 ?1096次閱讀

    關(guān)于stm32f4zgt6和mspm0g3507串口通信問題

    本人在使用stm32f4zgt6和mspm0g3507串口通信時(shí)出現(xiàn)問題,情況如下: m0芯片使用軟件超時(shí)解析進(jìn)行數(shù)據(jù)接收,使用標(biāo)準(zhǔn)庫(kù)的transmit函數(shù)進(jìn)行數(shù)據(jù)發(fā)送。 stm32使
    發(fā)表于 09-01 11:11

    PLC串口自由協(xié)議通信概述

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

    智嵌物聯(lián)串口轉(zhuǎn)光纖轉(zhuǎn)換器-延長(zhǎng)串口通信距離,增強(qiáng)抗干擾性能

    智嵌物聯(lián)研發(fā)的串口光纖收發(fā)器是將RS-485/422/RS232接口信號(hào)轉(zhuǎn)換為光纖接口傳輸,通信距離可達(dá)20Km,大大延長(zhǎng)串口通信距離以及抗干擾性能。設(shè)備可自適應(yīng)
    的頭像 發(fā)表于 06-27 17:08 ?739次閱讀
    智嵌物聯(lián)<b class='flag-5'>串口</b>轉(zhuǎn)光纖轉(zhuǎn)換器-延長(zhǎng)<b class='flag-5'>串口</b><b class='flag-5'>通信</b>距離,增強(qiáng)抗干擾性能

    ESP32用作經(jīng)典藍(lán)牙串口透?jìng)髂K與手機(jī)進(jìn)行串口通信

    本文介紹了如何把ESP32用作一個(gè)藍(lán)牙串口透?jìng)髟O(shè)備使用,其功能和常用的HC-05/06串口藍(lán)牙設(shè)備一樣。并與手機(jī)藍(lán)牙串口APP進(jìn)行雙向藍(lán)牙通信
    的頭像 發(fā)表于 06-20 17:45 ?3001次閱讀
    ESP32用作經(jīng)典藍(lán)牙<b class='flag-5'>串口</b>透?jìng)髂K與手機(jī)進(jìn)行<b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    使用USB轉(zhuǎn)TTL串口板和ST-LINK調(diào)試下載器給STM32單片機(jī)下載程序

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

    第七章 串口通信

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

    STM32串口下載軟件(FLYMCU)

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

    輕松解碼串口通信

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

    串口通信的優(yōu)勢(shì)與缺點(diǎn)

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

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

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

    STM32串口通信,上電和斷電串口助手會(huì)返回?cái)?shù)是怎么回事?

    STM32串口通信,上電和斷電串口助手會(huì)返回?cái)?shù),是為什么呢
    發(fā)表于 03-12 07:57