这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【Let's do第1期-DIY功率检测与控制系统】定时器中断1S翻转LED

共4条 1/1 1 跳转至

【Let's do第1期-DIY功率检测与控制系统】定时器中断1S翻转LED

工程师
2025-05-26 20:53:02     打赏

1、简介

有幸再度参与2025 EEPW&Digikey举办的Let's Do活动,这两天刚收到开发器件,以下是元器件一览:

NUCLEO-F411RE 

OLED显示屏 

INA219数字功率检测模块

4a54e55b47c1c4621e1af5ebfe1e490.jpg

NUCLEO-F411RE板载了一个绿色LED,连接至PA5引脚;除此该MCU内置了8个高级、通用定时器,以下选用定时器TIM3来实现定时1s并完成LED亮灭的翻转。

image.png

2CubeMX配置

将PA5引脚工作模式设为GPIO_Output模式

image.png

使用别称LED_Green来代替PA5,提高程序可读性

image.png

配置定时器3,将定时器时钟分频系数设为10000,于是100MHz分频为10KHz,定时器计数次数为5000

因此定时器溢出中断周期为(1/10KHz)*5000=0.5ms

image.png

使能定时器中断

image.png

3、程序设计

编写定时器中断回调函数

volatile uint16_t count_num=2;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ 
 if(htim == &htim3)  //判断中断是否来自于定时器3
   {
if(count_num>1){
count_num--;
}
else{
count_num=2;
HAL_GPIO_TogglePin(LED_Green_GPIO_Port,LED_Green_Pin);//定时溢出2次后翻转LED,定时时长为0.5ms*2=1S
}
           
   }
}

以中断模式启用定时器3

HAL_TIM_Base_Start_IT(&htim3);

4、运行效果

screenshots.gif





关键词: 定时器中断    

专家
2025-05-26 22:35:20     打赏
2楼

感谢分享


专家
2025-05-26 22:36:36     打赏
3楼

感谢分享


专家
2025-05-26 22:38:03     打赏
4楼

感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]