【备赛】蓝桥杯实现多个LED联合控制

使用定时器,每隔0.1秒进中断,去判断是否符合你的条件,如果符合条件,就亮,否则灭。

具体逻辑参考以下代码

在一个if里面,两个条件一起判断,执行的内容也混一块。

cpp 复制代码
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
  
	if(htim->Instance == TIM4)
	{
		if(show_mode==0&& percentage_change_flag==1)//数据界面+锁定
		{
			led_show(1,3);//1亮,3亮
		}
		else if(show_mode==0&& percentage_change_flag==0)//数据界面+可变
		{
			HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
			HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_SET);
			HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7 << 1, GPIO_PIN_RESET);//1亮,3不管它
			HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET);
		}
		else if(show_mode!=0&& percentage_change_flag==1)//其他界面+锁定
		{
			HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
			HAL_GPIO_WritePin(GPIOC, GPIO_PIN_All, GPIO_PIN_SET);
			HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7 << 3, GPIO_PIN_RESET);//3亮,1不管它
			HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_RESET);
		}
		else 
		{
			led_off();//都灭
		}

}
相关推荐
is08155 分钟前
STM32两种不同的链接配置方式
stm32
森焱森26 分钟前
垂起固定翼无人机介绍
c语言·单片机·算法·架构·无人机
I'm写代码1 小时前
el-tree树形结构笔记
javascript·vue.js·笔记
brave and determined2 小时前
国产MCU学习Day11——CW32F030C8T6 低电压检测器(LVD)详解与应用
单片机·嵌入式硬件·嵌入式·国产mcu·cw32f030c8t6·cw32f030c8t6lvd·低电压检测器
哄娃睡觉2 小时前
stm32 dac无法输出满量程电压3.3V
stm32
Andy杨3 小时前
20250707-4-Kubernetes 集群部署、配置和验证-K8s基本资源概念初_笔记
笔记·容器·kubernetes
UQI-LIUWJ5 小时前
李宏毅LLM笔记: AI Agent
人工智能·笔记
ouliten5 小时前
cuda编程笔记(6)--流
笔记
Love__Tay5 小时前
笔记/云计算基础
笔记·学习·云计算