【备赛】蓝桥杯实现多个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();//都灭
		}

}
相关推荐
浓墨染彩霞21 分钟前
Java-----多线路
java·经验分享·笔记
Zero_Era26 分钟前
LKT6850安全MCU应用场景介绍
单片机·嵌入式硬件
魂梦翩跹如雨30 分钟前
P8752 [蓝桥杯 2021 省 B2] 特殊年份——Java解答
java·蓝桥杯
浩瀚地学38 分钟前
【Java】String
java·开发语言·经验分享·笔记·学习
西城微科方案开发41 分钟前
西城微科的体重秤方案开发之路-方案开发商
单片机·嵌入式硬件·方案公司推荐
摇滚侠1 小时前
2025最新 SpringCloud 教程,Seata-原理-二阶提交协议,笔记70
笔记·spring·spring cloud
im_AMBER2 小时前
Leetcode 67 长度为 K 子数组中的最大和 | 可获得的最大点数
数据结构·笔记·学习·算法·leetcode
爱打代码的小林2 小时前
numpy库数组笔记
笔记·python·numpy
Slaughter信仰2 小时前
图解大模型_生成式AI原理与实战学习笔记(第四章)
人工智能·笔记·学习
std860212 小时前
5000 小时极限“烧屏”施压,微星 QD-OLED 显示器依然坚挺
stm32·单片机·嵌入式硬件