日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cubemx万年钟_一知半解学CubeMX——TIM:定时中断实现LED闪烁

發(fā)布時(shí)間:2024/1/1 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cubemx万年钟_一知半解学CubeMX——TIM:定时中断实现LED闪烁 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一知半解學(xué)習(xí)環(huán)境:

1、CubeMX 4.23.0

2、uVision 5.14.2

3、MCU 啟明 STM32F407 開發(fā)板(高配版) V3.1

一知半解學(xué)習(xí)目標(biāo):

1、掌握CubeMX下RCC以及SYS的相關(guān)配置;

2、掌握CubeMX下GPIO的相關(guān)配置;

3、掌握CubeMX下定時(shí)器常規(guī)中斷的配置;

一知半解實(shí)現(xiàn)過程:

1、配置系統(tǒng)調(diào)試接口及時(shí)基時(shí)鐘源;

2、配置外部高速時(shí)鐘源(HSE);

3、配置定時(shí)器參數(shù)(TIM1);

4、根據(jù)原理圖配置相應(yīng)GPIO引腳并修改宏定義名稱;

5、配置時(shí)鐘樹,主頻168M;

6、配置管腳默認(rèn)輸出狀態(tài)及速率;

7、配置定時(shí)器預(yù)分頻及裝載值,開啟定時(shí)器中斷;

由于此處選擇的是定時(shí)器1(TIM1),該定時(shí)器掛載在APB2總線上,因此TIM1時(shí)鐘為168M。為了使LED間隔0.5S翻轉(zhuǎn),需要配置TIM1的中斷時(shí)間為0.5S,為了方便計(jì)算預(yù)分頻值定為 16800-1,裝載值為5000-1; ((168M/16800)/5000) = 2Hz,即周期為0.5S。

8、生成工程,并添加相關(guān)程序;

首先,main.c程序中添加(放置于定時(shí)器配置之后)開啟 TIM1計(jì)時(shí)中斷;

/* USER CODE BEGIN 2 */

/*使能定時(shí)器1中斷*/

HAL_TIM_Base_Start_IT(&htim1);

/* USER CODE END 2 */

其次,在 tim.c文件中添加定時(shí)器中斷完成回調(diào)函數(shù);

/* USER CODE BEGIN 1 */

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){

if (htim->Instance == TIM1){

/* Toggle LED */

HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);

HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);

HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);

}

}

/* USER CODE END 1 */

一知半解套路回顧:

1、掌握CubeMX配置的常規(guī)套路,如SYS、RCC以及時(shí)鐘樹的配置等;

2、掌握TIM中斷開啟函數(shù)的使用;

3、掌握定時(shí)器中斷回調(diào)函數(shù)的使用;

總結(jié)

以上是生活随笔為你收集整理的cubemx万年钟_一知半解学CubeMX——TIM:定时中断实现LED闪烁的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。