STM32F4的HAL庫開啟串列埠空閒中斷

2021-08-08 06:58:08 字數 930 閱讀 2406

串列埠接收資料時,開啟空閒中斷後可在接收完成觸發中斷,再去做進一步處理,但找了半天沒找掉hal庫的使能某中斷的函式,以及判斷是哪個中斷觸發的函式,原來在stm32f4xx_hal_uart.h中有相關巨集定義。

__hal_uart_enable_it(__handle__, __interrupt__)
__hal_uart_get_flag(__handle__, __it__)
__hal_uart_clear_idleflag(__handle__)
我是要開啟所有串列埠的空閒中斷,所以在stm32f4xx_hal_uart.c中的hal_uart_init()函式中新增了使能串列埠空閒中斷的巨集定義

/*enable the idle interrupt*/

__hal_uart_enable_it(huart,uart_it_idle);

然後在stm32f4xxit.c中向對應的串列埠中斷服務函式中新增判斷是否為空閒中斷,若是空閒中斷則進入空閒中斷處理函式,空閒中斷處理函式是自己寫的。

if(__hal_uart_get_flag(&huart1, uart_flag_idle) != reset)

進入串列埠的空閒中斷服務函式後,清除空閒中斷標誌位,然後在做自己想對資料做的處理。

void uart_idlecallback(uart_handletypedef *huart)

/*uart2 idle processing function*/

if(huart == &huart2)

/*uart3 4

56... idle processing function*/

......}

stm32f4 定時捕獲

概述 1000hz 20 80 占空比現象 1000hz 51 58 占空比現象 關於本文的更多詳情請往下看。筆者針對於初學者提供的例程都是去掉了許多不必要的功能,精簡了官方的 對初學者一看就明白,以簡單明瞭的工程供大家學習。stm32f4 tim輸入波形捕獲 脈衝頻率 占空比 例項 訪問密碼 st...

基於stm32f407建立stm32F427工程

分為三個部分 1.啟動檔案 2.fwilib 包含兩個資料夾inc和src。src裡面是stm32資源的c檔案,inc則是32資源的h檔案 3.user這也是我不太理解的部分 ddbugconfig只包含了用於debug的初始化,則是f4的系統檔案。我是在f407的基礎上改的 總的來說 1.改了晶元...

STM32F4與STM32F1的區別

作為cortex m3市場的最大佔有者,st公司在2011年又推出基於cortex m4核心的stm32f4系列產品,相對與stm32f1 f2等cortex m3產品,stm32f4最大的優勢,就是新增了硬體fpu單元以及dsp指令,同時,stm32f4的主頻也提高了很多,達到168mhz 可獲得...