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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

函數功能是()

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

溫馨提示

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

評論

0/150

提交評論