功能簡述
主模式TIM2的中斷作為從模式TIM3的時鐘輸入
(級聯定時器)
紅燈亮6滅5 頻率1hz
綠燈亮3滅3 頻率0.5hz
STM32CubeMX配置
STM32CubeMX版本:4.27.0
配置流程:
Pinout界面選擇并開啟需要的LED控制引腳
Clock Configuration配置時鐘樹
Configuration界面配置System
生成工程
Pinout配置
LED輸出PIN配置,TIM2,TIM3的基本配置
Clock Configuration配置
開啟系統時鐘,設置TIM2、TIM3時鐘(APB1)
Configuration
左側主要系統功能的開啟,或中間軟件層功能的開啟(如:RTOS、JPEG解碼器,文件系統等)
右側是系統及外設模塊的具體配置
GPIO
輸出配置
TIM3
周期=((1+TIM_Prescaler )/時鐘)*(1+TIM_Period )
分頻:62499
計數模式:向上計數
重裝值:99
時鐘分割:0 (數字濾波器相關)
自動重裝:開啟
MSM:關閉(開啟將在該定時器使能的同時TRGO發出信號)
觸發事件選擇:更新
TIM2
周期=((1+TIM_Prescaler )/時鐘)*(1+TIM_Period )
分頻:0
計數模式:向上計數
重裝值:1
時鐘分割:0 (數字濾波器相關)
自動重裝:開啟
由于TIM2作為從定時器,它的時鐘實際是TIM3的中斷信號
NVIC
代碼部分
main.c
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start_IT(&htim3);
HAL_TIM_Base_Start_IT(&htim2);
/* USER CODE END 2 */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_Delay(10000);
HAL_TIM_Base_DeInit(&htim3);
}
/* USER CODE END 3 */
stm32h7xx_it.c
/* USER CODE BEGIN 1 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim->Instance == TIM2)
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);
if(htim->Instance == TIM3)
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);
}
/* USER CODE END 1 */
備注
通用定時器的多種用法在RM0433 第39章
上一篇:STM32 HAL庫學習系列第5篇 定時器TIM---編碼器接口模式配置
下一篇:STM32 HAL庫學習系列第7篇---定時器TIM 輸入捕獲功能
推薦閱讀
史海拾趣
設計資源 培訓 開發板 精華推薦
- 半導體品牌知名度問卷調查
- 上演你的“ADI實驗室電路”DIY!
- 下載有禮|是德科技電子書 《通過了解測試精度的基礎知識, 提高良率并降低風險》,不做“差不多先生”
- 下載《Altera SoC深度體驗》,打分評論贏好禮
- 【已結束】 Qorvo、村田、NI直播【UWB最新技術、方案、市場、應用解析】(13:30開始入場)
- TI 最新CapTIvate™ 觸控微控制器技術直播開始報名嘍!報名參與有禮呦!
- 老T叔的藏書閣——一位老工程師多年的資料積累
- 有獎直播【Keysight World Tech Day 2023分論壇——汽車自動駕駛與新能源】
- #最能打國產芯#能打入汽車電子這片地的國產芯,有多少啦?
- 新年新挑戰:ST藍牙開發板免費申請評測+挑戰賽(littleshrimp帶隊)