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

}
相关推荐
东小东博客4 分钟前
STM32 WS2812 Proteus仿真 汉字显示 SPI控制
stm32·嵌入式硬件·proteus
thisbrand2 小时前
李辉《曾国藩日记》笔记:放不下对诗的情节
笔记·曾国藩
摇滚侠4 小时前
Java 零基础全套教程,File 类与 IO 流,笔记 177-178
java·开发语言·笔记
观浩5 小时前
使用Obsidian和IDEA搭建个人知识库
经验分享·笔记·学习方法
czhaii5 小时前
STM32中的位带(bit-band)操作
单片机
玄米乌龙茶1236 小时前
LLM成长笔记(十三):系统设计与项目实战
笔记·unity·游戏引擎
嵌入式-老费7 小时前
esp开发与应用(DS18B20温度传感器)
单片机·嵌入式硬件
searchforAI7 小时前
AI多模态技术:从语音识别到AI结构化笔记是怎么实现的
人工智能·经验分享·笔记·gpt·whisper·语音识别
Jonathan_LF8 小时前
DMA使用心得-STM32
stm32·单片机·嵌入式硬件
凉、介8 小时前
深入理解 ARMv7-A|异常/中断处理
笔记·学习·嵌入式·arm