STM32CubeMX—定時器中斷實驗

定時器中斷實驗

一、實驗說明

    平臺:STM32F103RCT6

    本實驗爲定時器中斷實驗,使用STM32cube max 配置TIM3定時中斷。

    注:實驗中使用了串口,所以可以沿用上一個串口中斷實驗的配置。

二、實驗操作

1、STM32系統基礎配置。

詳見上一個實驗的步驟1 – 4。

2、配置好串口1。

詳見上一個實驗。

3、配置定時器

                                                        

             如上圖選擇定時器3,出現如下界面:

 

 

            然後配置具體參數:

           上一步選擇後就會出現這個界面,配置好分頻值,計數裝載值,注意,第三個箭頭那裏要使能(ENABLE)自動重新裝置值。

 

時間的計算

                           

                     這裏 Tout = (5000*7200)/72MHZ = 0.5秒,所以0.5秒進一次中斷。

4、定時器中斷配置

 

5、然後生成代碼

6、工程中添加代碼

               首先要明確我們使用的是定時器的定時中斷,也就是更新中斷,所以要找對回調函數。

                void TIM3_IRQHandler(void)  stm32f1xx_it.c

                HAL_TIM_IRQHandler(&htim3);

                HAL_TIM_PeriodElapsedCallback(htim);

                __weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)   

 這就是這幾個函數的跳轉順序,最後一個就是更新中斷的回調函數,把它 複製到TIM.c中,如下圖

 

7、開啓中斷

                HAL_TIM_Base_Start_IT(&TIM3_Handler);

 

8、測試,在中斷中寫句輸出測試一下(實際開發,不會這樣乾的。)

      

  1. 因爲要輸出檢查下串口。
  2. 下載程序,測試:

結果如下,0.5秒輸出一次。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章