《嵌入式項(xiàng)目開發(fā)與管理》課件-8.同步異步通訊_第1頁
《嵌入式項(xiàng)目開發(fā)與管理》課件-8.同步異步通訊_第2頁
《嵌入式項(xiàng)目開發(fā)與管理》課件-8.同步異步通訊_第3頁
《嵌入式項(xiàng)目開發(fā)與管理》課件-8.同步異步通訊_第4頁
《嵌入式項(xiàng)目開發(fā)與管理》課件-8.同步異步通訊_第5頁
已閱讀5頁,還剩98頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

移動(dòng)應(yīng)用開發(fā)初探同步異步通訊初探同步異步通訊初探同步異步通訊課程導(dǎo)入U(xiǎn)ART(UniversalAsynchronousReceiver/Transmitter),通用異步收發(fā)傳輸器,它是一種廣泛應(yīng)用的異步串行通信協(xié)議。初探同步異步通訊同步、異步的概念UART硬件結(jié)構(gòu)UART兩種電平標(biāo)準(zhǔn)調(diào)試UART所需的技術(shù)準(zhǔn)備初探同步異步通訊通用異步收發(fā)器串口通訊UniversalAsynchronousReceiver/TransmitterUART什么是異步通信?什么是同步通信?初探同步異步通訊同步信號(hào)通信數(shù)據(jù)同步通信雙方在同一個(gè)時(shí)鐘信號(hào)的控制下,進(jìn)行數(shù)據(jù)的接收和發(fā)送數(shù)據(jù)發(fā)送方數(shù)據(jù)接收方初探同步異步通訊同步信號(hào)通信數(shù)據(jù)同步通信雙方在同一個(gè)時(shí)鐘信號(hào)的控制下,進(jìn)行數(shù)據(jù)的接收和發(fā)送數(shù)據(jù)發(fā)送方數(shù)據(jù)接收方1011初探同步異步通訊異步通信:一個(gè)數(shù)據(jù)起止起止起一個(gè)數(shù)據(jù)數(shù)據(jù)之間不可預(yù)測(cè)的時(shí)間間隔無同步信號(hào),收發(fā)雙方有各自時(shí)鐘。信息以幀為單位,數(shù)據(jù)之間沒有固定的間隔。初探同步異步通訊異步通信的特點(diǎn):發(fā)送和接收設(shè)備的時(shí)鐘需要一致。異步通訊需要設(shè)置開始和結(jié)束標(biāo)志。每個(gè)數(shù)據(jù)攜帶校驗(yàn)信息。初探同步異步通訊MCUTXRXGND初探同步異步通訊MCUTXRXGNDMCUTXRXGND初探同步異步通訊初探同步異步通訊TTL以UART為核心的通信形式也是多樣初探同步異步通訊111100005U0UTTLRS232 +15V-15V00011110初探同步異步通訊初探同步異步通訊初探同步異步通訊初探同步異步通訊初探同步異步通訊111100005U0UTTLRS232 +15V-15V00011110初探同步異步通訊初探同步異步通訊解決方案:將兩種電平信號(hào)經(jīng)過處理轉(zhuǎn)化為usb外設(shè)可以識(shí)別的內(nèi)容需芯片轉(zhuǎn)化CH34x系列CP210x系列初探同步異步通訊初探同步異步通訊串口與USB轉(zhuǎn)換模塊 初探同步異步通訊串口測(cè)試軟件功能要求:查詢與選中計(jì)算機(jī)裝備的串口??梢酝ㄟ^字符或十六進(jìn)制數(shù)進(jìn)行輸出。提供輸入內(nèi)容展示的界面。自發(fā)自收測(cè)試步驟:短接發(fā)送端和接收端引腳。軟件發(fā)送信息。查看軟件,看是否有相同的反饋信息。剖析ADC配置剖析ADC配置任務(wù)1:準(zhǔn)備串口測(cè)試軟件、USB轉(zhuǎn)換模塊、開發(fā)板等。剖析ADC配置剖析ADC配置任務(wù)2:完成本課課后練習(xí)。移動(dòng)應(yīng)用開發(fā)掌握同步異步通訊配置掌握同步異步通訊配置掌握同步異步通訊配置通用異步收發(fā)器掌握同步異步通訊配置掌握同步異步通訊配置課程導(dǎo)入課程目標(biāo):關(guān)注32微控制器F407系列UART(USART)的配置。掌握同步異步通訊配置芯片的UART外設(shè)概述寄存器功能概述波特率設(shè)置掌握同步異步通訊配置掌握同步異步通訊配置全雙工異步通信小數(shù)波特率發(fā)生器系統(tǒng),提供精確的波特率可配置的16倍過采樣或8倍過采樣可編程的數(shù)據(jù)字長(zhǎng)度(8位或者9位)可配置的停止位(支持1或者2位停止位)可配置的使用DMA多緩沖器通信單獨(dú)的發(fā)送器和接收器使能位提供多項(xiàng)檢測(cè)標(biāo)志多個(gè)帶標(biāo)志的中斷源,觸發(fā)中斷其他:校驗(yàn)控制,四個(gè)錯(cuò)誤檢測(cè)標(biāo)志掌握同步異步通訊配置狀態(tài)寄存器掌握同步異步通訊配置數(shù)據(jù)寄存器允許微控制器(MCU)與外部設(shè)備之間通過串行方式進(jìn)行高效的數(shù)據(jù)交換數(shù)據(jù)操作核心寄存器支持可編程的數(shù)據(jù)字長(zhǎng)、靈活停止位配置以及錯(cuò)誤檢測(cè)功能通過DR寄存器的讀寫操作,MCU可以發(fā)送數(shù)據(jù)到外部設(shè)備,并從外部設(shè)備接收數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸。掌握同步異步通訊配置數(shù)據(jù)寄存器注意:接收數(shù)據(jù)操作或發(fā)送數(shù)據(jù),具體取決于所執(zhí)行的操作是“讀取”操作還是“寫入”操作。數(shù)據(jù)操作核心寄存器掌握同步異步通訊配置控制寄存器1“通用功能”參數(shù)設(shè)置掌握同步異步通訊配置控制寄存器2“附加功能”參數(shù)設(shè)置掌握同步異步通訊配置控制寄存器3“增強(qiáng)”參數(shù)設(shè)置掌握同步異步通訊配置保護(hù)與預(yù)分頻寄存器掌握同步異步通訊配置波特率寄存器掌握同步異步通訊配置波特率設(shè)置:分頻系數(shù)總線時(shí)鐘過采樣倍數(shù)掌握同步異步通訊配置掌握同步異步通訊配置狀態(tài)寄存器SR數(shù)據(jù)寄存器DR控制寄存器CR1\CR2\CR43保護(hù)與預(yù)分頻寄存器GTPR波特率寄存器BRR32微控制器的UART關(guān)鍵配置掌握同步異步通訊配置掌握同步異步通訊配置小測(cè)1:總線時(shí)鐘為84M,要生成一個(gè)115200的波特率,其UART分頻系數(shù)為多少?任務(wù)2:完成本課課后練習(xí)。掌握同步異步通訊配置掌握同步異步通訊配置移動(dòng)應(yīng)用開發(fā)實(shí)踐UART基本收發(fā)(上)實(shí)踐UART基本收發(fā)(上)實(shí)踐UART基本收發(fā)(上)課程目標(biāo)實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的UART收發(fā)程序。內(nèi)容介紹三個(gè)步驟完成實(shí)踐明確目標(biāo)設(shè)置引腳完成初始化實(shí)踐目標(biāo)驅(qū)動(dòng)UART1使用PA9PA10作為TX和RX破特率設(shè)置為9600使用非中斷方式收發(fā)實(shí)踐UART基本收發(fā)(上)84MHz實(shí)踐UART基本收發(fā)(上)實(shí)踐UART基本收發(fā)(上)波特率:115200總線時(shí)鐘:84Mhz過采樣倍數(shù):0分頻系數(shù)為:45.57291666666667整數(shù):45小數(shù):0.57291實(shí)踐UART基本收發(fā)(上)實(shí)踐UART基本收發(fā)(上)實(shí)踐UART基本收發(fā)(上)A族引腳使能u32tmp=1<<0;RCC->AHB1ENR|=tmp;PA910復(fù)用功能tmp=0xf<<18;GPIOA->MODER&=~tmp;tmp=0xA<<18;GPIOA->MODER|=tmp;PA910復(fù)用代碼7tmp=0xFF<<4;GPIOA->AFR[1]&=~tmp;tmp=0x77<<4;GPIOA->AFR[1]|=tmp;實(shí)踐UART基本收發(fā)(上)實(shí)踐UART基本收發(fā)(上)實(shí)踐UART基本收發(fā)(上)實(shí)踐UART基本收發(fā)(上)分頻系數(shù):45.57291整數(shù):45小數(shù):0.57291小數(shù)部分:int(0.57291*16)DIV_Fraction=9思考題區(qū)小數(shù)部分,為什么是乘以16后取整?實(shí)踐UART基本收發(fā)(上)總結(jié)任務(wù)1:完成初始化程序,使用老師提供的發(fā)送函數(shù),嘗試驗(yàn)證串口是否正常。實(shí)踐UART基本收發(fā)(上)實(shí)踐UART基本收發(fā)(上)任務(wù)2:完成本課課后練習(xí)。課程目標(biāo)實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的UART收發(fā)程序。實(shí)踐UART基本收發(fā)(下)實(shí)踐UART基本收發(fā)(下)內(nèi)容介紹按照進(jìn)度完成三項(xiàng)內(nèi)容發(fā)送、接收函數(shù)的設(shè)計(jì)。搭建串口調(diào)試環(huán)境。設(shè)計(jì)測(cè)試邏輯完成測(cè)試。學(xué)習(xí)目標(biāo)發(fā)送字符函數(shù)

voiduart1_send_char(char)接收字符函數(shù)intuart1_rec(char*)實(shí)踐UART基本收發(fā)(下)USART_DR寫操作數(shù)據(jù)發(fā)送實(shí)踐UART基本收發(fā)(下)發(fā)送字符函數(shù)參考代碼:voiduart1_send_char(chard){while((USART1->SR&0X40)==0){}USART1->DR=d;}發(fā)送目標(biāo)字符判斷發(fā)送緩存是否為空寫數(shù)據(jù)寄存器實(shí)踐UART基本收發(fā)(下)USART_DR讀操作數(shù)據(jù)存入實(shí)踐UART基本收發(fā)(下)發(fā)送字符函數(shù)參考代碼:intuart1_rec(char*pc){ if(USART1->SR&(1<<5)){ *pc=USART1->DR; return0; }elsereturn1;}保存結(jié)果字符判斷發(fā)送緩存是否為空讀數(shù)據(jù)寄存器有新數(shù)據(jù),返回0沒有新數(shù)據(jù),返回1實(shí)踐UART基本收發(fā)(下)CH34X驅(qū)動(dòng)實(shí)踐UART基本收發(fā)(下)CH34X驅(qū)動(dòng)main(){ ... USART1_Initial(); uart1_send_char(‘Y’); uart1_send_char(‘E’); uart1_send_char(‘S’);}主函數(shù)測(cè)試邏輯1:UART1初始化UART1發(fā)送字符YES實(shí)踐UART基本收發(fā)(下)main(){ ... charn;intre; USART1_Initial(); while(1){ re=uart1_rec(&n) if(re==0){ uart1_send_char(n) }}主函數(shù)測(cè)試邏輯2:UART1初始化UART1發(fā)送字符總結(jié)任務(wù)1:獨(dú)立完成UART收發(fā)實(shí)驗(yàn)。任務(wù)2:完成本課課后練習(xí)。實(shí)踐UART基本收發(fā)(下)實(shí)踐UART基本收發(fā)(下)思考題循環(huán)監(jiān)聽接收數(shù)據(jù)有什么缺點(diǎn)?移動(dòng)應(yīng)用開發(fā)發(fā)送指令與指令分析發(fā)送指令與指令分析發(fā)送指令與指令分析課程導(dǎo)入發(fā)送指令與指令分析發(fā)送指令與指令分析課程導(dǎo)入通信協(xié)議(CommunicationProtocol)是指在通信過程中,雙方或多方必須遵循的一組規(guī)則或約定,以確保信息能夠準(zhǔn)確無誤地在它們之間傳輸和接收。發(fā)送指令與指令分析發(fā)送指令與指令分析基礎(chǔ)載體信道協(xié)議規(guī)范與包裝設(shè)備信息控制指令環(huán)境數(shù)據(jù)準(zhǔn)確無誤地通行在不同設(shè)備之間發(fā)送指令與指令分析發(fā)送指令與指令分析課程導(dǎo)入了解作為通信的硬、軟件基礎(chǔ),嵌入式是如何通過串口來實(shí)現(xiàn)協(xié)議的。內(nèi)容介紹概述協(xié)議收發(fā)的問題。分析狀態(tài)機(jī)編程解決協(xié)議分析問題。引入狀態(tài)機(jī)概念。內(nèi)容介紹通信協(xié)議:設(shè)備間信息交換所遵循的規(guī)則與標(biāo)準(zhǔn),它定義了數(shù)據(jù)如何組織、如何傳輸、如何接收、如何解釋等關(guān)鍵過程。內(nèi)容介紹通信協(xié)議:設(shè)備間信息交換所遵循的規(guī)則與標(biāo)準(zhǔn),它定義了數(shù)據(jù)如何組織、如何傳輸、如何接收、如何解釋等關(guān)鍵過程。確保了數(shù)據(jù)在復(fù)雜網(wǎng)絡(luò)環(huán)境中能夠準(zhǔn)確、高效、安全地傳遞。發(fā)送指令與指令分析發(fā)送指令與指令分析1.實(shí)現(xiàn)一個(gè)指令的設(shè)計(jì)與發(fā)送。協(xié)議內(nèi)容:yes目標(biāo)2.接收uart數(shù)據(jù)后分析、識(shí)別指令。協(xié)議內(nèi)容:abcvoidOrder_yes(){uart1_send_char('y’)uart1_send_char('e’)uart1_send_char('s')}收發(fā)指令與狀態(tài)機(jī)編程1.實(shí)現(xiàn)一個(gè)指令的設(shè)計(jì)與發(fā)送。協(xié)議內(nèi)容:yes目標(biāo)收發(fā)指令與狀態(tài)機(jī)編程2.接收uart數(shù)據(jù)后分析、識(shí)別指令。協(xié)議內(nèi)容:abc目標(biāo)協(xié)議指令什么時(shí)候發(fā)生?如何分析接受到的內(nèi)容?問題例如:字符串“xaabcyz”中是否包含“abc”?收發(fā)指令與狀態(tài)機(jī)編程xaabcyzabc收發(fā)指令與狀態(tài)機(jī)編程xaabcyz狀態(tài)狀態(tài)處理狀態(tài)編程給予對(duì)象定義不同的狀態(tài),例如:尋找A時(shí),稱為A狀態(tài);尋找B時(shí),稱為B狀態(tài)等等。狀態(tài)切換對(duì)象在處于某狀態(tài)時(shí)需要做的事情,例如:A狀態(tài)是,我們搜索字符串尋找字符a。對(duì)象的狀態(tài)發(fā)生改變。例如:A狀態(tài)下,如果在處理過程中發(fā)現(xiàn)a字符,那它就需要尋找下一個(gè)字符b,對(duì)象變?yōu)锽狀態(tài)。發(fā)送指令與指令分析發(fā)送指令與指令分析回到程序需求本身例如UART接收很多數(shù)據(jù),但我現(xiàn)在需要一個(gè)叫“abc”的執(zhí)行,應(yīng)該怎么通過狀態(tài)編程來處理呢?收發(fā)指令與狀態(tài)機(jī)編程xaabcyz定義狀態(tài)例如,我們需要找三個(gè)連續(xù)字符,則至少定義三個(gè)狀態(tài),分別為abc。建立結(jié)構(gòu)編寫每個(gè)狀態(tài)需要的處理過程。全面考慮有哪些情況需要改變狀態(tài)例如,b狀態(tài)中,如果遇到下一個(gè)字符不是b而是s,那就應(yīng)該返回到起初狀態(tài)a了。注意,每個(gè)狀態(tài)都應(yīng)該全局可見,否則他會(huì)被輕易錯(cuò)誤修改。課程小測(cè)根據(jù)本課方案,同學(xué)們嘗試獨(dú)立完成緩沖區(qū)的編寫。發(fā)送指令與指令分析發(fā)送指令與指令分析思考題如何分析接受的串口數(shù)據(jù),如何分析一個(gè)命令?移動(dòng)應(yīng)用開發(fā)接收隊(duì)列與中斷監(jiān)聽導(dǎo)入實(shí)踐UART基本收發(fā)這種查詢式監(jiān)聽數(shù)據(jù)的方式有哪些不妥之處?導(dǎo)入main(){ ... charn;intre; USART1_Initial(); while(1){ re=uart1_rec(&n) if(re==0){ uart1_send_char(n) }進(jìn)入阻塞導(dǎo)入main(){ ... charn;intre; USART1_Initial(); while(1){ re=uart1_rec(&n) if(re==0){ uart1_send_char(n) }

new_task(); }}進(jìn)入阻塞可能導(dǎo)致數(shù)據(jù)丟失接收隊(duì)列與中斷監(jiān)聽接收隊(duì)列與中斷監(jiān)聽內(nèi)容介紹接收隊(duì)列與中斷監(jiān)聽接收隊(duì)列與中斷監(jiān)聽中斷的作用以及在此需求下的應(yīng)用邏輯。32微控制的UART中斷配置過程。軟件緩沖區(qū)設(shè)計(jì)理念。接收隊(duì)列與中斷監(jiān)聽中斷特點(diǎn)事件打斷程序。解決策略UART信息引發(fā)中斷,停止當(dāng)前任務(wù)?;卣{(diào)函數(shù)中處理UART信息,還原。接收隊(duì)列與中斷監(jiān)聽接收隊(duì)列與中斷監(jiān)聽中斷使能ISQR[1]接收隊(duì)列與中斷監(jiān)聽UART1中所有中斷接收數(shù)據(jù)中斷發(fā)送數(shù)據(jù)中斷idle中斷傳輸完成中斷接收隊(duì)列與中斷監(jiān)聽接收隊(duì)列與中斷監(jiān)聽charva=0;intre_flag=0;voidUSART1_IRQHandler(){ if(USART1->SR&(1<<5)){

re_flag=1; u8va=USART1->DR; }}UART數(shù)據(jù)記錄中斷標(biāo)志接收隊(duì)列與中斷監(jiān)聽charva=0;intre_flag=0;voidUSART1_IRQHandler(){ if(USART1->SR&(1<<5)){

re_flag=1; u8va=USART1->DR; }}UAR

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論