女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

第七章 串口通信

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-05-26 17:00 ? 次閱讀

單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網(wǎng)單片機

W55MH32是WIZnet重磅推出的高性能以太網(wǎng)單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內(nèi)置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數(shù)據(jù)處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協(xié)議棧、內(nèi)置MAC以及PHY,擁有獨立的32KB以太網(wǎng)收發(fā)緩存,可供8個獨立硬件socket使用。如此配置,真正實現(xiàn)了All-in-One解決方案,為開發(fā)者提供極大便利。

在封裝規(guī)格上,W55MH32 提供了兩種選擇:QFN68和QFN100。

W55MH32Q采用QFN68封裝版本,尺寸為8x8mm,它擁有36個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、3個串口、2個SPI接口(其中1個帶I2S接口復用)、1個CAN以及1個USB2.0。在保持與同系列其他版本一致的核心性能基礎(chǔ)上,僅減少了部分GPIO以及SDIO接口,其他參數(shù)保持一致,性價比優(yōu)勢顯著,尤其適合網(wǎng)關(guān)模組等對空間布局要求較高的場景。緊湊的尺寸和精簡化外設(shè)配置,使其能夠在有限空間內(nèi)實現(xiàn)高效的網(wǎng)絡(luò)連接與數(shù)據(jù)交互,成為物聯(lián)網(wǎng)網(wǎng)關(guān)、邊緣計算節(jié)點等緊湊型設(shè)備的理想選擇。 同系列還有QFN100封裝的W55MH32L版本,該版本擁有更豐富的外設(shè)資源,適用于需要多接口擴展的復雜工控場景,軟件使用方法一致。更多信息和資料請進入http://www.w5500.com/網(wǎng)站或者私信獲取。

此外,本W(wǎng)55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應用,涵蓋TCP SSL、HTTP SSL以及MQTT SSL等,為網(wǎng)絡(luò)通信安全再添保障。

為助力開發(fā)者快速上手與深入開發(fā),基于W55MH32Q這顆芯片,WIZnet精心打造了配套開發(fā)板。開發(fā)板集成WIZ-Link芯片,借助一根USB C口數(shù)據(jù)線,就能輕松實現(xiàn)調(diào)試、下載以及串口打印日志等功能。開發(fā)板將所有外設(shè)全部引出,拓展功能也大幅提升,便于開發(fā)者全面評估芯片性能。

若您想獲取芯片和開發(fā)板的更多詳細信息,包括產(chǎn)品特性、技術(shù)參數(shù)以及價格等,歡迎訪問官方網(wǎng)頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

wKgZO2gbOfaAVPzkACJSygzv-rI600.png

第七章 串口通信

本章我們將學習 W55MH32 的串口,教大家如何使用W55MH32的串口來發(fā)送和接收數(shù)據(jù)。

本章分為如下幾個小節(jié):

1 串口簡介

2 串口通信協(xié)議

3 W55MH32 的串口簡介

4 DMA簡介

5 程序設(shè)計

1 串口簡介

學習串口前,我們先來了解一下數(shù)據(jù)通信的一些基礎(chǔ)概念。

1.1 數(shù)據(jù)通信的基礎(chǔ)概念

在單片機的應用中,數(shù)據(jù)通信是必不可少的一部分,比如:單片機和上位機、單片機和外圍器件之間,它們都有數(shù)據(jù)通信的需求。由于設(shè)備之間的電氣特性、傳輸速率、可靠性要求各不相同,于是就有了各種通信類型、通信協(xié)議,我們最常用的有:USART、IIC、SPI、CAN、USB 等。下面,我們先來學習數(shù)據(jù)通信的一些基礎(chǔ)概念。

1. 數(shù)據(jù)通信方式

按數(shù)據(jù)通信方式分類,可分為串行通信和并行通信兩種。串行和并行的對比如下圖所示:

wKgZO2g0KvaALrncAACMSI3bTIo608.png

串行通信的基本特征是數(shù)據(jù)逐位順序依次傳輸,優(yōu)點是傳輸線少、布線成本低、靈活度高等優(yōu)點,一般用于近距離人機交互,特殊處理后也可以用于遠距離,缺點就是傳輸速率低。

而并行通信是數(shù)據(jù)各位可以通過多條線同時傳輸,優(yōu)點是傳輸速率高,缺點就是線多成本就高了,抗干擾能力差因而適用于短距離、高速率的通信。

2. 數(shù)據(jù)傳輸方向

根據(jù)數(shù)據(jù)傳輸方向,通信又可分為全雙工、半雙工和單工通信。全雙工、半雙工和單工通信的比較如下圖所示:

wKgZPGg0KvaAFq4zAAC37IOB2Zk463.png

數(shù)據(jù)傳輸方式:

單工是指數(shù)據(jù)傳輸僅能沿一個方向,不能實現(xiàn)反方向傳輸。

半雙工是指數(shù)據(jù)傳輸可以沿著兩個方向,但是需要分時進行。

全雙工是指數(shù)據(jù)可以同時進行雙向傳輸。

這里注意全雙工和半雙工通信的區(qū)別:半雙工通信是共用一條線路實現(xiàn)雙向通信,而全雙工是利用兩條線路,一條用于發(fā)送數(shù)據(jù),另一條用于接收數(shù)據(jù)。

3. 數(shù)據(jù)同步方式

根據(jù)數(shù)據(jù)同步方式,通信又可分為同步通信和異步通信。同步通信和異步通信比較如下圖所示:

wKgZPGg0KvaAOzN-AACP1-GtIYY584.png

同步通信要求通信雙方共用同一時鐘信號,在總線上保持統(tǒng)一的時序和周期完成信息傳輸。

優(yōu)點:可以實現(xiàn)高速率、大容量的數(shù)據(jù)傳輸,以及點對多點傳輸。缺點:要求發(fā)送時鐘和接收時鐘保持嚴格同步,收發(fā)雙方時鐘允許的誤差較小,同時硬件復雜。

異步通信不需要時鐘信號,而是在數(shù)據(jù)信號中加入開始位和停止位等一些同步信號,以便使接收端能夠正確地將每一個字符接收下來,某些通信中還需要雙方約定傳輸速率。優(yōu)點:沒有時鐘信號硬件簡單,雙方時鐘可允許一定誤差。缺點:通信速率較低,只適用點對點傳輸。

4. 通信速率

在數(shù)字通信系統(tǒng)中,通信速率(傳輸速率)指數(shù)據(jù)在信道中傳輸?shù)乃俣龋譃閮煞N:傳信率和傳碼率。

傳信率:每秒鐘傳輸?shù)男畔⒘浚疵棵腌妭鬏數(shù)亩M制位數(shù),單位為 bit/s(即比特每秒),因而又稱為比特率。

傳碼率:每秒鐘傳輸?shù)拇a元個數(shù),單位為 Baud(即波特每秒),因而又稱為波特率。

比特率和波特率這兩個概念又常常被人們混淆。比特率很好理解,我們來看看波特率,波特率被傳輸?shù)氖谴a元,碼元是信號被調(diào)制后的概念,每個碼元都可以表示一定bit 的數(shù)據(jù)信息量。舉個例子,在 TTL 電平標準的通信中,用 0V 表示邏輯 0,5V 表示邏輯 1,這時候這個碼元就可以表示兩種狀態(tài)。如果電平信號 0V、2V、4V 和 6V 分別表示二進制數(shù) 00、01、10、11,這時候每一個碼元就可以表示四種狀態(tài)。由上述可以看出,碼元攜帶一定的比特信息,所以比特率和波特率也是有一定的關(guān)系的。

比特率和波特率的關(guān)系可以用以下式子表示:比特率 = 波特率 * log2M其中 M 表示碼元承載的信息量。我們也可以理解 M 為碼元的進制數(shù)。

舉個例子:波特率為 100 Baud,即每秒傳輸 100 個碼元,如果碼元采用十六進制編碼(即 M=2,代入上述式子),那么這時候的比特率就是 400 bit/s。如果碼元采用二進制編碼(即 M=2,代入上述式子),那么這時候的比特率就是 100 bit/s

可以看出采用二進制的時候,波特率和比特率數(shù)值上相等。但是這里要注意,它們的相等只是數(shù)值相等,其意義上不同,看波特率和波特率單位就知道。由于我們的所用的數(shù)字系統(tǒng)都是二進制的,所以有部分人久而久之就直接把波特率和比特率混淆了。

2 串口通信協(xié)議

2 .1 串口通信協(xié)議簡介

串口通信是一種設(shè)備間常用的串行通信方式,串口按位(bit)發(fā)送和接收字節(jié)。盡管比特字節(jié)(byte)的串行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。串口通信協(xié)議是指規(guī)定了數(shù)據(jù)包的內(nèi)容,內(nèi)容包含了起始位、主體數(shù)據(jù)、校驗位及停止位,雙方需要約定一致的數(shù)據(jù)包格式才能正常收發(fā)數(shù)據(jù)的有關(guān)規(guī)范。在串口通信中,常用的協(xié)議包括 UARTRS-232、RS-422 和 RS-485 等。

隨著科技的發(fā)展,RS-232 在工業(yè)上還有廣泛的使用,但是在商業(yè)技術(shù)上,已經(jīng)逐漸的使用 USB 轉(zhuǎn)串口取代了RS-232 串口。我們只需要在電路中添加一個 USB 轉(zhuǎn)串口芯片,就可以實現(xiàn) USB 通信協(xié)議和標準 UART 串行通信協(xié)議的轉(zhuǎn)換,而我們開發(fā)板上的 USB 轉(zhuǎn)串口芯片是CH340C 這個芯片。

下面我們來學習串口通信協(xié)議,這里主要學習串口通信的協(xié)議層。

UART串口通信的數(shù)據(jù)包由發(fā)送設(shè)備的 TXD 接口傳輸?shù)浇邮赵O(shè)備的 RXD 接口。在串口通信的協(xié)議層中,規(guī)定了數(shù)據(jù)包的內(nèi)容,它由起始位、主體數(shù)據(jù)、校驗位以及停止位組成,通訊雙方的數(shù)據(jù)包格式要約定一致才能正常收發(fā)數(shù)據(jù)。串口通信協(xié)議數(shù)據(jù)幀格式如下圖所示:

串口通信協(xié)議數(shù)據(jù)包組成可以分為波特率和數(shù)據(jù)幀格式兩部分。

1. 波特率

本章主要講解的是串口異步通信,異步通信是不需要時鐘信號的,但是這里需要我們約定好兩個設(shè)備的波特率。波特率表示每秒鐘傳送的碼元符號的個數(shù),所以它決定了數(shù)據(jù)幀里面每一個位的時間長度。兩個要通信的設(shè)備的波特率一定要設(shè)置相同,我們常見的波特率是 4800、9600、115200 等。

2. 數(shù)據(jù)幀格式

數(shù)據(jù)幀格式需要我們提前約定好,串口通信的數(shù)據(jù)幀包括起始位、停止位、有效數(shù)據(jù)位以及校驗位。

起始位和停止位

串口通信的一個數(shù)據(jù)幀是從起始位開始,直到停止位。數(shù)據(jù)幀中的起始位是由一個邏輯 0 的數(shù)據(jù)位表示,而數(shù)據(jù)幀的停止位可以是 0.5、1、1.5 或 2 個邏輯 1 的數(shù)據(jù)位表示,只要雙方約定一致即可。

有效數(shù)據(jù)位

數(shù)據(jù)幀的起始位之后,就接著是數(shù)據(jù)位,也稱有效數(shù)據(jù)位,這就是我們真正需要的數(shù)據(jù),有效數(shù)據(jù)位通常會被約定為 5、6、7 或者 8 個位長。有效數(shù)據(jù)位是低位(LSB)在前,高位(MSB)在后。

校驗位

校驗位可以認為是一個特殊的數(shù)據(jù)位。校驗位一般用來判斷接收的數(shù)據(jù)位有無錯誤,檢驗方法有:奇檢驗、偶檢驗、0 檢驗、1 檢驗以及無檢驗。下面分別介紹一下:

奇校驗是指有效數(shù)據(jù)位和校驗位中“1”的個數(shù)為奇數(shù),比如一個 8 位長的有效數(shù)據(jù)為:10101001,總共有 4 個“1”,為達到奇校驗效果,校驗位設(shè)置為“1”,最后傳輸?shù)臄?shù)據(jù)是 8 位的有效數(shù)據(jù)加上 1 位的校驗位總共 9 位。

偶校驗與奇校驗要求剛好相反,要求幀數(shù)據(jù)和校驗位中“1”的個數(shù)為偶數(shù),比如數(shù)據(jù)幀:11001010,此時數(shù)據(jù)幀“1”的個數(shù)為 4 個,所以偶校驗位為“0”。

0 校驗是指不管有效數(shù)據(jù)中的內(nèi)容是什么,校驗位總為“0”,1 校驗是校驗位總為“1”。

無校驗是指數(shù)據(jù)幀中不包含校驗位。我們一般是使用無檢驗的情況。

3 W55MH32 的串口簡介

3.1 USART 介紹

通用同步異步收發(fā)器(USART)提供了一種靈活的方法與使用工業(yè)標準 NRZ 異步串行數(shù)據(jù)格式的外部設(shè)備之間進行全雙工數(shù)據(jù)交換。USART 利用分數(shù)波特率發(fā)生器提供寬范圍的波特率選擇。

它支持同步單向通信和半雙工單線通信,也支持 LIN(局部互連網(wǎng)),智能卡協(xié)議和 IrDA(紅外數(shù)據(jù)組織)SIRENDEC 規(guī)范,以及調(diào)制解調(diào)器(CTS/RTS)操作。它還允許多處理器通信。使用多緩沖器配置的 DMA 方式,可以實現(xiàn)高速數(shù)據(jù)通信。

3.2 USART 主要特性

?全雙工,支持同步和異步通信

?NRZ 標準格式

?分數(shù)波特率發(fā)生器系統(tǒng)

······發(fā)送和接收共用的可編程波特率,最高達 4.5Mbits/s

?可編程數(shù)據(jù)字長度(8 位或 9 位)

?可配置的停止位-支持 1 或 2 個停止位

?LIN 主發(fā)送同步斷開符的能力以及 LIN 從檢測斷開符的能力

······當 USART 硬件配置成 LIN 時,生成 13 位斷開符;檢測 10/11 位斷開符

?發(fā)送方為同步傳輸提供時鐘

?IRDASIR 編碼器解碼器

······在正常模式下支持 3/16 位的持續(xù)時間

?智能卡模擬功能

······智能卡接口支持 ISO7816-3 標準里定義的異步智能卡協(xié)議

······智能卡用到的 0.5 和 1.5 個停止位

?單線半雙工通信

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

······在 SRAM 里利用集中式 DMA 緩沖接收/發(fā)送字節(jié)

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

?檢測標志

······接收緩沖器滿

······發(fā)送緩沖器空

······傳輸結(jié)束標志

?校驗控制

······發(fā)送校驗位

······對接收數(shù)據(jù)進行校驗

?四個錯誤檢測標志

······溢出錯誤

······噪音錯誤

······幀錯誤

?校驗錯誤

?10 個帶標志的中斷源

······CTS 改變

······LIN 斷開符檢測

······發(fā)送數(shù)據(jù)寄存器

······發(fā)送完成

······接收數(shù)據(jù)寄存器滿

······檢測到總線為空閑

······溢出錯誤

······幀錯誤

······噪音錯誤

······校驗錯誤

?多處理器通信

······如果地址不匹配,則進入靜默模式

?從靜默模式中喚醒(通過空閑總線檢測或地址標志檢測)

?兩種喚醒接收器的方式:地址位(MSB,第 9 位),總線空閑

3.3 USART 功能概述

接口通過三個引腳與其他設(shè)備連接在一起。任何 USART 雙向通信至少需要兩個腳:接收數(shù)據(jù)輸入(RX)和發(fā)送數(shù)據(jù)輸出(TX)。

RX:接收數(shù)據(jù)串行輸。通過過采樣技術(shù)來區(qū)別數(shù)據(jù)和噪音,從而恢復數(shù)據(jù)。

TX:發(fā)送數(shù)據(jù)輸出。當發(fā)送器被禁止時,輸出引腳恢復到它的 I/O 端口配置。當發(fā)送器被激活,并且不發(fā)送數(shù)據(jù)時,TX 引腳處于高電平。在單線和智能卡模式里,此 I/O 口被同時用于數(shù)據(jù)的發(fā)送和接收。

?總線在發(fā)送或接收前應處于空閑狀態(tài)

?一個起始位

?一個數(shù)據(jù)字(8 或 9 位),最低有效位在前

?0.5,1.5,2 個的停止位,由此表明數(shù)據(jù)幀的結(jié)束

?使用分數(shù)波特率發(fā)生器——12 位整數(shù)和 4 位小數(shù)的表示方法。

?一個狀態(tài)寄存器(USART_SR)

?數(shù)據(jù)寄存器(USART_DR)

?一個波特率寄存器(USART_BRR),12 位的整數(shù)和 4 位小數(shù)

?一個智能卡模式下的保護時間寄存器(USART_GTPR)

?在同步模式中需要下列引腳:

?CK:發(fā)送器時鐘輸出。此引腳輸出用于同步傳輸?shù)臅r鐘,(在 Start 位和 Stop 位上沒有時鐘脈沖,軟件可選地,可以在最后一個數(shù)據(jù)位送出一個時鐘脈沖)。數(shù)據(jù)可以在 RX 上同步被接收。這可以用來控制帶有移位寄存器的外部設(shè)備(例如 LCD 驅(qū)動器)。時鐘相位和極性都是軟件可編程的。在智能卡模式里,CK 可以為智能卡提供時鐘。在 IrDA 模式里需要下列引腳:

?IrDA_RDI:IrDA 模式下的數(shù)據(jù)輸入。

?IrDA_TDO:IrDA 模式下的數(shù)據(jù)輸出。下列引腳在硬件流控模式中需要:

······CTS:清除發(fā)送,若是高電平,在當前數(shù)據(jù)傳輸結(jié)束時阻斷下一次的數(shù)據(jù)發(fā)送。

······nRTS:發(fā)送請求,若是低電平,表明 USART 準備好接收數(shù)據(jù)。

USART 框圖如下:

wKgZO2g0KveAXEFFAAMPO010AqI773.png

4 DMA簡介

直接存儲器存取(DMA)用來提供在外設(shè)和存儲器之間或者存儲器和存儲器之間的高速數(shù)據(jù)傳輸。無須 CPU 干預,數(shù)據(jù)可以通過 DMA 快速地移動,這就節(jié)省了 CPU 的資源來做其他操作。兩個 DMA 控制器有 12 個通道(DMA1 有 7 個通道,DMA2 有 5 個通道),每個通道專門用來管理來自于一個或多個外設(shè)對存儲器訪問的請求。還有一個仲裁器來協(xié)調(diào)各個 DMA 請求的優(yōu)先權(quán)。

4.1 DMA 主要特性

DMA的主要特性如下:

?12 個獨立的可配置的通道(請求):DMA1 有 7 個通道,DMA2 有 5 個通道。

?每個通道都直接連接專用的硬件 DMA 請求,每個通道都同樣支持軟件觸發(fā)。這些功能通過軟件來配置。

?在同一個 DMA 模塊上,多個請求間的優(yōu)先權(quán)可以通過軟件編程設(shè)置(共有四級:很高、高、中等和低),優(yōu)先權(quán)設(shè)置相等時由硬件決定(請求 0 優(yōu)先于請求 1,依此類推)。

?獨立數(shù)據(jù)源和目標數(shù)據(jù)區(qū)的傳輸寬度(字節(jié)、半字、全字),模擬打包和拆包的過程。源目標地址必須按數(shù)據(jù)傳輸寬度對齊。

?支持循環(huán)的緩沖器管理。

?每個通道都有 3 個事件標志(DMA 半傳輸、DMA 傳輸完成和 DMA 傳輸出錯),這 3 個事件標志邏輯或成為一個單獨的中斷請求。

?存儲器和存儲器間的傳輸。

?外設(shè)和存儲器、存儲器和外設(shè)之間的傳輸。

?閃存、SRAM、外設(shè)的 SRAM、APB1、APB2 和 AHB 外設(shè)均可作為訪問的源和目標。

?可編程的數(shù)據(jù)傳輸數(shù)目:最大為 65535。

4.2 DMA功能框圖解析

DMA的功能框圖如下:

wKgZPGg0KveAZLDhAAKXg5mBTSk606.png

① DMA 請求

如果外設(shè)想要通過 DMA 來傳輸數(shù)據(jù),必須先給 DMA 控制器發(fā)送 DMA 請求,DMA 收到請求信號之后,控制器會給外設(shè)一個應答信號,當外設(shè)應答后且 DMA 控制器收到應答信號之后,就會啟動 DMA 的傳輸,直到傳輸完畢。

② 通道

DMA 具有 12 個獨立可編程的通道,其中 DMA1 有 7 個通道,DMA2 有 5 個通道,每個通道對應不同的外設(shè)的 DMA 請求。雖然每個通道可以接收多個外設(shè)的請求,但是同一時間只能接收一個,不能同時接收多個。

③ 仲裁器

當發(fā)生多個 DMA 通道請求時,就意味著有先后響應處理的順序問題,這個就由仲裁器管理。仲裁器管理 DMA 通道請求分為兩個階段。第一階段屬于軟件階段,可以在 DMA_CCRx寄存器中設(shè)置,有 4 個等級:非常高,高,中和低四個優(yōu)先級。第二階段屬于硬件階段,如果兩個或以上的 DMA 通道請求設(shè)置的優(yōu)先級一樣,則他們優(yōu)先級取決于通道編號,編號越低優(yōu)先權(quán)越高,比如通道 0 高于通道 1。在大容量產(chǎn)品和互聯(lián)型產(chǎn)品中,DMA1 控制器擁有高于DMA2 控制器的優(yōu)先級。

5 程序設(shè)計

5.1 USART_Asyn

程序啟動后,會通過串口打印系統(tǒng)時鐘頻率信息和 "USART Asyn DMA Test."。

當有 8 個字節(jié)的數(shù)據(jù)通過串口發(fā)送到開發(fā)板的 USART1 時,程序會自動接收這些數(shù)據(jù),接收完成后打印 "USART Asyn DMA Recv Complete" 以及接收到的 8 個字節(jié)數(shù)據(jù)。

接著,程序會將接收到的數(shù)據(jù)通過 USART1 發(fā)送出去,發(fā)送完成后打印 "USART Asyn DMA Send Complete"。

程序會不斷循環(huán)進行上述接收和發(fā)送操作,只要有新的 8 個字節(jié)數(shù)據(jù)發(fā)送到 USART1,就會重復執(zhí)行接收和發(fā)送流程。

5.1.1 下載驗證

wKgZO2g0KvaATDiSAAHAmffLESY929.png

5.2 USART_Irda

串口輸出調(diào)試信息:程序啟動后,通過 USART1 輸出系統(tǒng)時鐘頻率信息、紅外測試信息、USART2 的發(fā)送和接收引腳信息。

數(shù)據(jù)發(fā)送:程序會將填充好的 256 字節(jié)數(shù)據(jù)(從 0x5A 開始遞增)通過 USART2 紅發(fā)送出去。

發(fā)送完成提示:數(shù)據(jù)發(fā)送完成后,通過 USART1 輸出 "USART Irda Data Send Complete" 信息。之后程序進入無限循環(huán),不再有其他操作。

5.2.1 下載驗證

wKgZPGg0KvaADVDSAAHF7dLdt1Y548.png

5.3 USART_LIN

此例程主要實現(xiàn)了基于 LIN(Local Interconnect Network)總線協(xié)議的通信測試,使用 USART2 作為 LIN 總線通信接口,USART1 用于輸出調(diào)試信息。LIN 總線是一種低成本的串行通信協(xié)議,常用于汽車電子等領(lǐng)域的分布式控制。

例程的核心功能是當檢測到 LIN 總線的中斷幀(Break)時,發(fā)送一個中斷幀和一個字節(jié)的數(shù)據(jù) 0xA5。

串口輸出調(diào)試信息:程序啟動后,通過 USART1 輸出系統(tǒng)時鐘頻率信息、LIN 測試信息和 USART2 的發(fā)送、接收引腳信息。

等待 LIN 中斷幀:程序進入主循環(huán),等待 USART2 接收到 LIN 中斷幀。

檢測到中斷幀后的響應:當 USART2 接收到 LIN 中斷幀時,觸發(fā)USART2_IRQHandler 中斷處理函數(shù),將 TestFlag 置為 1。主循環(huán)檢測到 TestFlag 為 1 后,發(fā)送一個 LIN 中斷幀和一個字節(jié)的數(shù)據(jù) 0xA5。

持續(xù)監(jiān)測:程序繼續(xù)在主循環(huán)中運行,持續(xù)監(jiān)測 LIN 中斷幀的到來,重復上述響應過程。

如果連接到 USART2 的 LIN 總線有其他設(shè)備發(fā)送 LIN 中斷幀,此例程會不斷響應并發(fā)送數(shù)據(jù) 0xA5。如果沒有其他設(shè)備發(fā)送中斷幀,程序會一直等待,不會有進一步的動作。

5.3.1 下載驗證

wKgZO2g0KvaADvkMAAFNeFN9fkw150.png

5.4 USART_Rs485

這個例程主要實現(xiàn)了基于 RS-485 通信協(xié)議的串口數(shù)據(jù)收發(fā)測試,同時使用 USART1 作為調(diào)試串口輸出信息。RS-485 是一種常用的工業(yè)串行通信標準,具有抗干擾能力強、傳輸距離遠等特點。

例程的核心功能包括:

初始化 USART1 用于調(diào)試信息輸出和命令接收。

初始化 RS-485 通信接口,設(shè)置波特率為 9600。

通過 USART1 接收用戶輸入的命令,當接收到字符 's' 時,向 RS-485 總線發(fā)送 5 個字節(jié)的數(shù)據(jù)(從 0x5A 開始遞增)。

持續(xù)監(jiān)聽 RS-485 總線,若接收到數(shù)據(jù)則將其打印到 USART1 上。

5.4.1 下載驗證

wKgZPGg0KvaAUETcAAF5pOs-aEQ938.png

5.5 USART_SmartCard

此例程主要實現(xiàn)了基于串口通信的智能卡(Smart Card)測試功能,采用 T=0 協(xié)議與智能卡進行通信。程序會實時監(jiān)測智能卡的插入和拔出狀態(tài),當檢測到智能卡插入時,會對智能卡進行冷復位操作,獲取其 ATR(Answer To Reset)信息,接著發(fā)送選擇主文件(Select MF)的命令,根據(jù)響應情況可能會進一步發(fā)送獲取數(shù)據(jù)的命令,最終完成智能卡的測試流程。當檢測到智能卡拔出時,會停止對智能卡的供電和時鐘信號。

程序啟動信息:程序啟動后,通過 USART1 輸出系統(tǒng)時鐘頻率信息和 "USART Smart Card(T=0) Test." 提示信息。

智能卡插入:當插入智能卡時,程序檢測到引腳狀態(tài)變化,打印 "Card inserted" 信息,然后進行冷復位操作,打印 ATR 信息(若有效),接著發(fā)送選擇主文件的命令并打印發(fā)送和響應數(shù)據(jù),根據(jù)響應情況可能會進一步發(fā)送獲取數(shù)據(jù)的命令并打印相關(guān)信息。若整個測試流程成功,會輸出 "Smartcard test OK!" 信息,最后關(guān)閉智能卡的供電和時鐘信號。

智能卡拔出:當拔出智能卡時,程序檢測到引腳狀態(tài)變化,打印 "Card out" 信息,并關(guān)閉智能卡的供電和時鐘信號。

5.5.1 下載驗證

wKgZO2g0KvaANEWGAAFjTp7dSBA794.png

審核編輯 黃宇

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

    關(guān)注

    6063

    文章

    44925

    瀏覽量

    647081
  • 數(shù)據(jù)通信
    +關(guān)注

    關(guān)注

    2

    文章

    465

    瀏覽量

    34300
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1636

    瀏覽量

    56556
收藏 人收藏

    評論

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

    通信原理教程全集,新手專欄

      數(shù)字基帶傳輸系統(tǒng)[通信原理教程][組圖]第六  數(shù)字調(diào)制系統(tǒng)[通信原理教程][組圖]第七章  模擬信號的數(shù)字化理論[通信原理教程][組
    發(fā)表于 01-28 14:32

    《我和 LabVIEW》示例程序(2010.04.02)光盤第一至第七章

    《我和 LabVIEW》示例程序(2010.04.02)光盤第一至第七章
    發(fā)表于 06-27 17:08

    《測控電路》習題完整參考答案(第七章

    《測控電路》習題完整參考答案(第七章
    發(fā)表于 05-07 11:38

    第七章MMU例子代碼交叉編譯后下載到mini2440后,LED燈一直亮著并沒有閃

    在書的第七章MMU的例子代碼交叉編譯后下載到mini2440后,LED燈一直亮著并沒有閃。不知道是什么原因,有沒有人遇到過相同問題的?剛剛開始的時候認為是延時不夠長,自己把wait()改長后還是沒有用。另外除了LED外,還有別的東西能指示作用嗎?謝謝。
    發(fā)表于 05-17 05:04

    CDMA蜂窩移動通信(第一、二

    第一概述• 第二CDMA技術(shù)基礎(chǔ)• 第三CDMA碼序列• 第四CDMA通信原理• 第
    發(fā)表于 06-17 17:25 ?7次下載

    高頻電子線路第七章答案

    高頻電子線路第七章答案.
    發(fā)表于 06-05 10:42 ?42次下載

    《測控電路》習題完整參考答案(第七章

    《測控電路》習題完整參考答案(第七章
    發(fā)表于 02-14 17:02 ?0次下載

    第七章AVR單片機的應用

    第七章AVR單片機的應用
    發(fā)表于 09-21 11:41 ?4次下載
    <b class='flag-5'>第七章</b>AVR單片機的應用

    stm8s BLDC電機 第七章源代碼 資料下載

    stm8s BLDC電機 第七章源代碼
    發(fā)表于 03-12 10:35 ?12次下載

    電力系統(tǒng)繼電保護第七章-微機保護概述(課件)下載.ppt

    繼電保護第七章-微機保護概述(課件)
    發(fā)表于 04-28 09:43 ?0次下載
    電力系統(tǒng)繼電保護<b class='flag-5'>第七章</b>-微機保護概述(課件)下載.ppt

    第七章 開關(guān)電源PCB排版解析

    第七章 開關(guān)電源PCB排版解析7.1 鏡像面電磁理論中的鏡像面概念對設(shè)計者掌握開關(guān)電源的PCB 排版會有很大的幫助。  下面是鏡像面的基本概念。  (a)是當直流電流在一個接地層上方流過時的情景
    發(fā)表于 10-21 15:21 ?0次下載
    <b class='flag-5'>第七章</b> 開關(guān)電源PCB排版解析

    STM32第八-TIM輸入捕獲

      在第七章我們介紹了 STM32 的定時器作為 PWM 輸出的使用方法,這一,我們將向大家介紹通用定時器作為輸入捕獲的使用。這...
    發(fā)表于 02-07 11:00 ?6次下載
    STM32第八<b class='flag-5'>章</b>-TIM輸入捕獲

    通信原理第七版習題

    通信原理第七版習題
    發(fā)表于 06-13 15:37 ?0次下載

    衛(wèi)星通信v2 第七章 仿真與實戰(zhàn)(1)峰均比概念

    重磅課程又來啦!隔了三年,新增加了一個章節(jié)—第七章:仿真與實戰(zhàn)!看名字就知道本章內(nèi)容會告訴大家如何仿真衛(wèi)星通信的相關(guān)知識! 開始一個全新知識的講解!!!合盤推出之前在工作過程積累的知識和代碼以及文檔
    的頭像 發(fā)表于 01-29 01:40 ?1601次閱讀

    衛(wèi)星通信v2 第七章 仿真與實戰(zhàn)(10)關(guān)鍵技術(shù)

    !其他的算法都是需要根據(jù)環(huán)境而變!頭大了吧?當年我也是如此! 捕獲! 原文標題:衛(wèi)星通信v2 第七章 仿真與實戰(zhàn)(10)關(guān)鍵技術(shù) 文章出處:【微信公眾號:通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
    的頭像 發(fā)表于 02-06 12:55 ?921次閱讀