色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

STM32串口通信基本原理詳解

GReq_mcu168 ? 來(lái)源:硬件攻城獅 ? 作者:硬件攻城獅 ? 2022-08-01 14:21 ? 次閱讀

設(shè)備之間通信的方式

一般情況下,設(shè)備之間的通信方式可以分成并行通信和串行通信兩種。并行與串行通信的區(qū)別如下表所示。

afecb10a-1161-11ed-ba43-dac502259ad0.jpg

串行通信的分類

1、按照數(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ā)送端。

aff8df66-1161-11ed-ba43-dac502259ad0.jpg

2、按照通信方式,分為:

同步通信:帶時(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í)鐘允許誤差較大。

常見(jiàn)的串行通信接口

b00eb9f8-1161-11ed-ba43-dac502259ad0.jpg

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ā)送。

b0bfdca6-1161-11ed-ba43-dac502259ad0.jpg

對(duì)于兩個(gè)芯片之間的連接,兩個(gè)芯片GND共地,同時(shí)TXD和RXD交叉連接。這里的交叉連接的意思就是,芯片1的RxD連接芯片2的TXD,芯片2的RXD連接芯片1的TXD。這樣,兩個(gè)芯片之間就可以進(jìn)行TTL電平通信了。STM32與51單片機(jī)串口通信相關(guān)實(shí)例,請(qǐng)移步此處:STM32與51單片機(jī)串口通信實(shí)例。

b0d65710-1161-11ed-ba43-dac502259ad0.jpg

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

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

單片機(jī)的電平標(biāo)準(zhǔn)(TTL電平):+5V表示1,0V表示0;

RS232的電平標(biāo)準(zhǔn):+15/+13 V表示0,-15/-13表示1。

RS-232通訊協(xié)議標(biāo)準(zhǔn)串口的設(shè)備間通訊結(jié)構(gòu)圖如下:

b1109cae-1161-11ed-ba43-dac502259ad0.png

所以單片機(jī)串口與PC串口通信就應(yīng)該遵循下面的連接方式:在單片機(jī)串口與上位機(jī)給出的RS232口之間,通過(guò)電平轉(zhuǎn)換電路(如下面圖中的Max232芯片) 實(shí)現(xiàn)TTL電平與RS232電平之間的轉(zhuǎn)換。STM32與PC之間通信實(shí)例,請(qǐng)移步此處:STM32實(shí)例-用按鍵控制串口發(fā)送數(shù)據(jù),文末附代碼。

b120e4ce-1161-11ed-ba43-dac502259ad0.jpg

RS232串口簡(jiǎn)介

臺(tái)式機(jī)電腦后面的9針接口就是com口(串口) 在工業(yè)控制 數(shù)據(jù)采集上應(yīng)用廣泛上圖中,最右邊的是串口接口統(tǒng)稱為RS232接口,是常見(jiàn)的DB9封裝。

b14cae38-1161-11ed-ba43-dac502259ad0.jpg

通信過(guò)程中只有兩個(gè)腳參與通信。

2腳:電腦的輸入RXD

3腳:電腦的輸出TXD 通過(guò)2 ,3 腳就可以實(shí)現(xiàn)全雙工(可同時(shí)收發(fā))的串行異步 通信

5腳:接地

單片機(jī)的P3口是有兩個(gè)復(fù)用接口RXD 和TXD。這是單片機(jī)進(jìn)行串行通信的收發(fā)口,連接應(yīng)該錯(cuò)位的對(duì)應(yīng)到電腦的TDX RDX上。注意:?jiǎn)纹瑱C(jī)和RS232的電平標(biāo)準(zhǔn)是不一樣的。

單片機(jī)的電平標(biāo)準(zhǔn) TTL電平 :+5V表示1 0V表示0。

RS232的電平標(biāo)準(zhǔn) +15/+13 V表示1 -15/-13 表示0。

所以 單片機(jī)與電腦串口通信就應(yīng)該遵循下面的連接方式:

在單片機(jī)與上位機(jī)給出的RS232口之間通過(guò)電平轉(zhuǎn)換電路(最上面圖中的Max232芯片) 實(shí)現(xiàn)TTL電平與RS232電平之間的轉(zhuǎn)換,PC串口與單片機(jī)串口連接方式圖:

b15fa916-1161-11ed-ba43-dac502259ad0.jpg

注意這兩個(gè)DB9:DB91是在電腦上的 DB92是在單片機(jī)實(shí)驗(yàn)板上焊接著的。

這里的交叉連接的意思是 DB91的RXD連著DB92的TXD。

DB92的RXD連著DB91的TXD這樣交叉著連接,如果電腦沒(méi)有RS232口 只有USB口,可以用串口轉(zhuǎn)接線轉(zhuǎn)出串口。

這個(gè)時(shí)候在電腦上位機(jī)上需要安裝串口驅(qū)動(dòng)程序。

注意,這個(gè)驅(qū)動(dòng)程序驅(qū)動(dòng)的是PL2303芯片(在上圖的大頭里面) 使得RS232信息轉(zhuǎn)換成USB信息。

下圖為上圖的內(nèi)部結(jié)構(gòu):

b18c0416-1161-11ed-ba43-dac502259ad0.jpg

用串口通信比USB簡(jiǎn)單,因?yàn)榇谕ㄐ艣](méi)有協(xié)議,使用方便簡(jiǎn)單。

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)志。

串口通信過(guò)程

b1c32f7c-1161-11ed-ba43-dac502259ad0.jpg

STM32中UART參數(shù)

串口通訊的數(shù)據(jù)包由發(fā)送設(shè)備通過(guò)自身的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位停止位。如下圖所示:

b1d538ca-1161-11ed-ba43-dac502259ad0.jpg

奇偶校驗(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)以及無(wú)校驗(yàn)(noparity)。0/1校驗(yàn):不管有效數(shù)據(jù)中的內(nèi)容是什么,校驗(yàn)位總為0或者1。

UART(USART)框圖

b229ada6-1161-11ed-ba43-dac502259ad0.jpg

這個(gè)框圖分成上、中、下三個(gè)部分。本文大概地講述一下各個(gè)部分的內(nèi)容,具體的可以看《STM32中文參考手冊(cè)》中的描述。

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    18

    文章

    6069

    瀏覽量

    136285
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10923

    瀏覽量

    357072
  • 串行通信
    +關(guān)注

    關(guān)注

    4

    文章

    577

    瀏覽量

    35526

原文標(biāo)題:詳解STM32串口通信基本原理

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RS232串口連接方式及注意事項(xiàng)

    數(shù)據(jù)交換。 RS-232串口簡(jiǎn)介 RS-232標(biāo)準(zhǔn)最初由電子工業(yè)聯(lián)盟(EIA)在1960年制定,用于定義串行通信的電氣特性、信號(hào)定時(shí)和數(shù)據(jù)格式。RS-232串口使用25針的D型連接器(DB-25),但后來(lái)更常用的是9針的D型連接
    的頭像 發(fā)表于 12-10 16:23 ?1511次閱讀

    LS10串口數(shù)據(jù)庫(kù)模塊外擴(kuò)SD卡功能

    LS10串口數(shù)據(jù)庫(kù)模塊外擴(kuò)SD卡功能
    的頭像 發(fā)表于 11-23 09:42 ?243次閱讀
    LS10<b class='flag-5'>串口</b>數(shù)據(jù)庫(kù)模塊外擴(kuò)SD卡功能

    使用RS232串口進(jìn)行設(shè)備調(diào)試的技巧

    在電子和通信領(lǐng)域,RS232串口是一種廣泛使用的串行通信接口。盡管隨著USB等新技術(shù)的興起,RS232的應(yīng)用有所減少,但在某些特定場(chǎng)合,如工業(yè)控制、嵌入式系統(tǒng)調(diào)試等,RS232仍然扮演著
    的頭像 發(fā)表于 11-21 09:38 ?825次閱讀

    RS232串口通信中常見(jiàn)問(wèn)題及解決辦法

    RS232串口通信中常見(jiàn)問(wèn)題及解決辦法主要包括以下幾個(gè)方面: 一、物理連接問(wèn)題 問(wèn)題 :串口線未插穩(wěn)或接口松動(dòng)。 解決辦法 :重新插拔串口線,確保連接牢固。同時(shí)檢查插頭和針腳是否損壞,
    的頭像 發(fā)表于 11-21 09:32 ?1928次閱讀

    RS232串口通信協(xié)議詳解

    在計(jì)算機(jī)硬件和通信領(lǐng)域,RS-232串口通信協(xié)議是一個(gè)歷史悠久且廣泛使用的標(biāo)準(zhǔn)。它允許計(jì)算機(jī)通過(guò)串行接口與各種外部設(shè)備進(jìn)行通信,如調(diào)制解調(diào)器、鼠標(biāo)、打印機(jī)等。 RS-232的歷史和定義
    的頭像 發(fā)表于 11-21 09:24 ?1228次閱讀

    FT232芯片設(shè)計(jì)的USB轉(zhuǎn)RS232串口原理圖

    FT232芯片設(shè)計(jì)的USB轉(zhuǎn)RS232串口原理圖
    發(fā)表于 10-21 11:06 ?7次下載

    快速實(shí)現(xiàn)C2000串口程序升級(jí)

    電子發(fā)燒友網(wǎng)站提供《快速實(shí)現(xiàn)C2000串口程序升級(jí).pdf》資料免費(fèi)下載
    發(fā)表于 08-29 10:50 ?1次下載
    快速實(shí)現(xiàn)C2000<b class='flag-5'>串口</b>程序升級(jí)

    集特推薦 雙網(wǎng)10串口飛騰FT2000商用臺(tái)式電腦主機(jī)

    前段時(shí)間為大家分享了國(guó)產(chǎn)龍芯、海光、飛騰D2000的商務(wù)臺(tái)式機(jī),它們的共同特點(diǎn)都是單網(wǎng),1個(gè)RS232串口。今天就為大家推薦一款雙網(wǎng)、可擴(kuò)展10串口、14USB接口的飛騰FT200
    的頭像 發(fā)表于 07-17 16:04 ?599次閱讀
    集特推薦  雙網(wǎng)10<b class='flag-5'>串口</b>飛騰FT2000商用臺(tái)式電腦主機(jī)

    用esp32的串口Stm32F407串口通訊,通過(guò)TJA轉(zhuǎn)CAN,結(jié)果esp32串口讀到的一直是自己發(fā)的數(shù)據(jù),為什么?

    我用esp32的串口Stm32F407串口通訊,通過(guò)TJA轉(zhuǎn)CAN。結(jié)果esp32串口讀到的一直是自己發(fā)的數(shù)據(jù),各位大神給我看看哪里有問(wèn)題么
    發(fā)表于 06-19 07:00

    485串口可以用can協(xié)議嗎

    一、引言 隨著工業(yè)自動(dòng)化和智能控制技術(shù)的發(fā)展,通信協(xié)議在設(shè)備間數(shù)據(jù)傳輸和控制中扮演著越來(lái)越重要的角色。485串口和CAN協(xié)議是兩種常見(jiàn)的通信協(xié)議,它們?cè)诓煌膽?yīng)用場(chǎng)景中發(fā)揮著重要作用。本文將對(duì)這兩種
    的頭像 發(fā)表于 06-16 09:21 ?1411次閱讀

    STM32做以太網(wǎng)轉(zhuǎn)4串口單核能做嗎?

    目前要做一個(gè)以太網(wǎng)轉(zhuǎn)4串口透?jìng)髂K,一個(gè)STM32能搞定嗎?是不是需要什么內(nèi)核、?求解~~對(duì)內(nèi)核了解不多,裸機(jī)100年
    發(fā)表于 05-13 07:27

    深度解析STM32串口通信基本原理

    在同步通訊中,數(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í)鐘允許誤差較大。
    發(fā)表于 04-18 09:50 ?1897次閱讀
    深度解析<b class='flag-5'>STM32</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b><b class='flag-5'>基本原理</b>

    VC++串口通信詳解

    電子發(fā)燒友網(wǎng)站提供《VC++串口通信詳解.doc》資料免費(fèi)下載
    發(fā)表于 03-24 09:36 ?0次下載

    物通博聯(lián)485轉(zhuǎn)換網(wǎng)關(guān):實(shí)現(xiàn)設(shè)備485串口數(shù)據(jù)轉(zhuǎn)換為Modbus TCP協(xié)議

    隨著工業(yè)自動(dòng)化技術(shù)的不斷發(fā)展,各種通信協(xié)議和接口標(biāo)準(zhǔn)在工業(yè)設(shè)備中的應(yīng)用越來(lái)越廣泛。其中,485串口和Modbus TCP協(xié)議是兩種常見(jiàn)的通信協(xié)議,廣泛應(yīng)用于各種工業(yè)自動(dòng)化設(shè)備和系統(tǒng)。傳統(tǒng)的485
    的頭像 發(fā)表于 03-04 17:10 ?1714次閱讀
    物通博聯(lián)485轉(zhuǎn)換網(wǎng)關(guān):實(shí)現(xiàn)設(shè)備485<b class='flag-5'>串口</b>數(shù)據(jù)轉(zhuǎn)換為Modbus TCP協(xié)議

    ZDP1440串口屏應(yīng)用開(kāi)發(fā)如何使用虛擬串口調(diào)試

    ZDP1440串口屏應(yīng)用開(kāi)發(fā)如何使用虛擬串口調(diào)試呢?本文將詳細(xì)方法分享給大家。
    的頭像 發(fā)表于 01-25 11:32 ?1753次閱讀
    ZDP1440<b class='flag-5'>串口</b>屏應(yīng)用開(kāi)發(fā)如何使用虛擬<b class='flag-5'>串口</b>調(diào)試
    主站蜘蛛池模板: 成年人在线免费观看视频网站 | 色噜噜色啪在线视频 | 理论片午午伦夜理片I | 久久综合色一综合色88中文 | 红番阁免费观看 | 欧美国产精品主播一区 | 中文中幕无码亚洲在线 | 狠狠色狠狠色综合系列 | 2019精品国产品在线不卡 | 8X拨牐拨牐X8免费视频8 | 国产婷婷一区二区在线观看 | 轻轻挺进女教师的身体 | 粉嫩AV国产一区二区福利姬 | 女侠含泪巨臀迎合79 | 男污女XO猛烈的动态图 | 婷婷精品国产亚洲AV在线观看 | 日本无码人妻精品一区二区视频 | 激情女人花 | 97成人精品视频在线播放 | 色欲久久99精品久久久久久AV | 国产成人综合在线观看网站 | 欧美性爱 成人 | 可以看的黄页的网站 | 国产精品久久久久无码AV色戒 | 91九色网址 | 无遮挡h肉3d动漫在线观看 | 暖暖 免费 高清 日本视频5 | 鸭子玩富婆流白浆视频 | 午夜精品久久久久久久99蜜桃 | 欧美日本韩国一二区视频 | 女人被躁到高潮嗷嗷叫免费 | 国产精品人妻久久无码不卡 | 羽月希被黑人吃奶dasd585 | 国产精品青草久久福利不卡 | 亚洲日本国产综合高清 | xxxx免费观看 | 欧美一区二区影院 | 国产精品自产拍在线观看中文 | 免费一级片网站 | 色噜噜狠狠色综合欧洲 | 国产 日韩 欧美 高清 亚洲 |