物聯(lián)網(wǎng)嵌入式技術(shù) 第2版 課件 知識點 4.3-冰箱中斷方式接收外部命令_第1頁
物聯(lián)網(wǎng)嵌入式技術(shù) 第2版 課件 知識點 4.3-冰箱中斷方式接收外部命令_第2頁
物聯(lián)網(wǎng)嵌入式技術(shù) 第2版 課件 知識點 4.3-冰箱中斷方式接收外部命令_第3頁
物聯(lián)網(wǎng)嵌入式技術(shù) 第2版 課件 知識點 4.3-冰箱中斷方式接收外部命令_第4頁
物聯(lián)網(wǎng)嵌入式技術(shù) 第2版 課件 知識點 4.3-冰箱中斷方式接收外部命令_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

做題啦課前互動選擇題設(shè)串行異步通信的數(shù)據(jù)格式是:1個起始位,7個數(shù)據(jù)位,1個校驗位,1個停止位,若傳輸率為1200bps,則每秒鐘傳輸?shù)淖畲笞址麛?shù)為()。(A)10個(B)110個(C)120個(D)240個C異步串行通信中,收發(fā)雙方必須保持(

)。(A)收發(fā)時鐘相同(B)停止位相同(C)數(shù)據(jù)格式和波特率相同(D)以上都正確CCONTENTS目錄目錄任務(wù)發(fā)布PART1沖關(guān)學(xué)習(xí)PART2任務(wù)小結(jié)PART3課外拓展PART4PART1任務(wù)發(fā)布任務(wù)描述制定職業(yè)能力目標(biāo)12重點分析難點分析34PART1任務(wù)發(fā)布一大學(xué)生創(chuàng)業(yè)團(tuán)隊為國內(nèi)某家電公司的冰箱產(chǎn)品的提檔升級提供技術(shù)支持。任務(wù)是完成冰箱內(nèi)部溫度數(shù)據(jù)的采集以及與外部的通信功能。你的具體任務(wù)如下:配置串口接收模式;中斷方式接收數(shù)據(jù);數(shù)碼管顯示數(shù)據(jù)。1任務(wù)描述PART1任務(wù)發(fā)布任務(wù)描述制定職業(yè)能力目標(biāo)12重點分析難點分析34PART1任務(wù)發(fā)布能利用STM32CubeMX準(zhǔn)確啟用STM32串口接收功能;能利用STM32CubeMX正確啟用串口中斷并配置優(yōu)先級;能根據(jù)功能需求,正確添加串口處理代碼,實現(xiàn)字符串的中斷接收。2制定職業(yè)能力目標(biāo)PART1任務(wù)發(fā)布任務(wù)描述制定職業(yè)能力目標(biāo)12重點分析難點分析34PART1任務(wù)發(fā)布01串口中斷的啟用方法;02串口中斷的處理流程;3重點分析PART1任務(wù)發(fā)布03串口接收中斷函數(shù)的寫法與功能實現(xiàn)。任務(wù)描述制定職業(yè)能力目標(biāo)12重點分析難點分析34PART1任務(wù)發(fā)布02STM32F1定時器CR101串口中斷的原理,串口中斷函數(shù)的內(nèi)容和使用。4重點分析PART1任務(wù)發(fā)布PART2沖關(guān)學(xué)習(xí)3熟悉工單2知識儲備4任務(wù)實施1設(shè)備選型PART2沖關(guān)學(xué)習(xí)1設(shè)備選型PART2沖關(guān)學(xué)習(xí)沖關(guān)啦闖關(guān)題目關(guān)于中斷嵌套說法正確的是()(A)只要響應(yīng)優(yōu)先級不一樣就有可能發(fā)生中斷嵌套(B)只要搶占式優(yōu)先級不一樣就有可能發(fā)生中斷嵌套(C)只有搶占式優(yōu)先級和響應(yīng)優(yōu)先級都不一才有可能發(fā)生中斷嵌套(D)以上說法都不對B3熟悉工單4任務(wù)實施2知識儲備1設(shè)備選型PART2沖關(guān)學(xué)習(xí)中斷接收①2知識儲備PART2沖關(guān)學(xué)習(xí)HAL庫串口中斷原調(diào)用流程②①用戶自定義串口中斷處理過程③中斷接收程序設(shè)計④主程序設(shè)計⑤主線劇情:按照程序處理流程書寫代碼支線劇情:完成中斷處理(接收),傳送數(shù)據(jù)2知識儲備①中斷接收-顯式處理①中斷接收2知識儲備在STM32CubeMX提供的HAL庫中,有串口中斷接收函數(shù)HAL_UART_Receive_IT(),函數(shù)原型與HAL_UART_Receive()非常類似,HAL_StatusTypeDefHAL_UART_Receive_IT(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize);①中斷接收:串口中斷接收顯示處理2知識儲備接著,串口中斷函數(shù)處理,直到接收到指定長度數(shù)據(jù)21接收到數(shù)據(jù)時,會觸發(fā)串口中斷串口接收中斷過程①中斷接收①中斷接收:串口中斷接收顯示處理2知識儲備接著,串口中斷函數(shù)處理,直到接收到指定長度數(shù)據(jù)而后關(guān)閉中斷,不再觸發(fā)接收中斷最后調(diào)用串口接收完成回調(diào)函數(shù)2341接收到數(shù)據(jù)時,會觸發(fā)串口中斷串口接收中斷過程①中斷接收使用串口中斷接收就必須先開啟中斷,HAL_UART_Receive_IT()函數(shù)隱式包含了中斷開啟過程,不能直觀體現(xiàn)出中斷接收的特點。為了更加清晰的了解串口中斷處理過程,這里使用顯式的處理過程。注意:①中斷接收:串口中斷接收顯示處理2知識儲備HAL庫串口中斷原調(diào)用流程②2知識儲備PART2沖關(guān)學(xué)習(xí)中斷接收①②用戶自定義串口中斷處理過程③中斷接收程序設(shè)計④主程序設(shè)計⑤②HAL庫串口中斷原調(diào)用流程2知識儲備用戶自定義串口中斷處理過程③2知識儲備PART2沖關(guān)學(xué)習(xí)中斷接收①③HAL庫串口中斷原調(diào)用流程②中斷接收程序設(shè)計④主程序設(shè)計⑤③用戶自定義串口中斷處理過程2知識儲備中斷接收程序設(shè)計④2知識儲備PART2沖關(guān)學(xué)習(xí)中斷接收①④HAL庫串口中斷原調(diào)用流程②用戶自定義串口中斷處理過程③主程序設(shè)計⑤④中斷接收程序設(shè)計:串口接收通信協(xié)議2知識儲備1字節(jié)1字節(jié)1字節(jié)ar0/1固定,表示起始表示讀取0:表示溫度1:表示濕度一般有起始、數(shù)據(jù)、校驗、結(jié)束等字段。根據(jù)傳輸環(huán)境也可以相應(yīng)簡化字段。2通信協(xié)議也分層次,應(yīng)用層通信協(xié)議規(guī)范的是應(yīng)用程序如何交換信息報文。1主程序設(shè)計⑤2知識儲備PART2沖關(guān)學(xué)習(xí)中斷接收①⑤HAL庫串口中斷原調(diào)用流程②用戶自定義串口中斷處理過程③中斷接收程序設(shè)計④⑤主程序設(shè)計2知識儲備主程序會逐個匹配接收字符以查找對應(yīng)命令并執(zhí)行相應(yīng)動作

主程序在發(fā)現(xiàn)接收數(shù)據(jù)完成標(biāo)志位置位后首先判斷是否以字符‘a(chǎn)’起始,如果不是則丟棄數(shù)據(jù),并等待下一次標(biāo)志位置位如果是字符‘a(chǎn)’開始,則繼續(xù)判斷后續(xù)字節(jié)是否為‘r’以及最后一個字符是‘0’還是‘1沖關(guān)啦闖關(guān)題目1、從下面四個選項中找到函數(shù)HAL_UART_Receive()的功能。()A、串口中斷模式發(fā)送B、串口中模式接收C、串口發(fā)送數(shù)據(jù),使用超時管理機(jī)制D、串口接收數(shù)據(jù),使用超時管理機(jī)制D2、HAL_UART_IRQHandler(UART_HandleTypeDef*huart)函數(shù)功能是()串口中斷處理函3、HAL_UART_TxCpltCallback(UART_HandleTypeDef*huart);

函數(shù)功能是()

串口發(fā)送中斷回調(diào)函數(shù)4任務(wù)實施1設(shè)備選型3熟悉工單2知識儲備PART2沖關(guān)學(xué)習(xí)請參照任務(wù)工單完成相關(guān)內(nèi)容3熟悉工單PART2沖關(guān)學(xué)習(xí)3熟悉工單PART2沖關(guān)學(xué)習(xí)步驟1:設(shè)備選型步驟2:修改工程步驟3:ADC配置步驟4:編寫代碼步驟5:硬件環(huán)境搭建步驟6:固件下載步驟7:結(jié)果驗證沖關(guān)啦闖關(guān)題目STM32的串口通信中斷中,判斷接收標(biāo)志位不為空所使用的宏是()A.UART_FLAG_IDLEB.UART_FLAG_RXNEC.UART_FLAG_ORED.UART_FLAG_TXEB1設(shè)備選型2知識儲備4任務(wù)實施3熟悉工單PART2沖關(guān)學(xué)習(xí)請參照任務(wù)工單完成中斷方式接收外部命令的操作請觀看任務(wù)實施視頻4任務(wù)實施PART2沖關(guān)學(xué)習(xí)PART3任務(wù)小結(jié)PART3任務(wù)小結(jié)(一)串口中斷的啟用方法PART3任務(wù)小結(jié)(二)串口中斷的處理流程所以在MDK中使用串口中斷接收大致經(jīng)過以下三個步驟:第一步:在main.c文件中增加自己的中斷接收程序;第二步:在stm32f1xx_it.c文件中修改中斷處理函數(shù);第三步:在main.c的主程序中開串口接收中斷;PART3任務(wù)小結(jié)(三)串口接收中斷函數(shù)的寫法與功能實現(xiàn)HAL_StatusTypeDefHAL_UART_Receive_IT(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize);PART4任務(wù)拓展拓展1:試用開發(fā)環(huán)境,在MDK-ARM集成開發(fā)環(huán)境里我們經(jīng)常要使用注釋,如果使用中文作為注釋時,默認(rèn)狀態(tài)下會出現(xiàn)亂碼,請查找資料,對MDK-ARM進(jìn)行配置,解決這個問題。拓展:STM32系列單片機(jī)串口支持“UART_IT_IDLE”中斷,含義是串行總線空閑中斷。IDLE是在接收到第一個數(shù)據(jù)后才開啟觸發(fā)條件的,即接收的數(shù)據(jù)斷流(總線空閑時間超過1個字節(jié)傳輸周期)產(chǎn)生IDLE中斷。該中斷在串口無數(shù)據(jù)接收的情況下不會一直產(chǎn)生。利用“UART_IT_IDLE”中斷能夠靈活處理串口接收數(shù)據(jù)長度。任務(wù)拓展PART4任務(wù)拓展拓展1:試用開發(fā)環(huán)境,在MDK-ARM集成開發(fā)環(huán)境里我們經(jīng)常要使用注釋,如果使用中文作為注釋時,默認(rèn)狀態(tài)下會出現(xiàn)亂碼,請查找資料,對MDK-ARM進(jìn)行配置,解決這個問題。拓展:在本任務(wù)中,如果每次串口輸入數(shù)據(jù)長度不是3個,則可能會造成程序“莫名其妙”的不正常工作。原因就是數(shù)據(jù)接收完成標(biāo)志是根據(jù)接收數(shù)據(jù)長度確定的,可能造成一個命令被分成兩次輸入的情況。改進(jìn)方法之一就是在中斷處理程序中啟用“UART_IT_IDLE”判斷。代碼如下圖所示。任務(wù)拓展PART4任務(wù)拓展拓展1:試用開發(fā)環(huán)境,在MDK-ARM集成開發(fā)環(huán)境里我們經(jīng)常要使用注釋,如果使用中文作為注釋時,默認(rèn)狀態(tài)下會出現(xiàn)亂碼,請查找資料,對MDK-ARM進(jìn)行配置,解決這個問題。if(__HAL_UART_GET_FL

溫馨提示

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

評論

0/150

提交評論