FreeRTOS_day1:使用定时器控制LED闪烁

本文详细描述了如何在STM32平台上利用定时器2控制LED灯的闪烁,通过设置中断回调函数实现每100ms切换LED状态。
摘要由CSDN通过智能技术生成

1、使用定时器控制LED闪烁

主要代码:

unsigned char flag = 0;//标志LED灯的状态  定义全局变量  申请空间要小

//时间到达就会调用该函数
//每隔100ms调用一次中断函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
	if(htim == &htim2)//判断是否是定时器2
	{
		flag =! flag;//修改LED灯状态 0变1 1变0
	}
}


HAL_TIM_Base_Start_IT(&htim2);//以中断形式打开定时器2,开始计数,时间到后溢出事件


  while (1)
  {

	if(flag == 1)
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET);//点亮LED灯
	else
	HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_SET);//熄灭
  }

运行结果:

STM32

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值