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

}
相关推荐
海阔天空任鸟飞~2 小时前
杰理-安卓通过map获取时间的时候,部分手机切换sbc和aac时候单耳无声音
c语言·单片机·aac
追月亮的少年2 小时前
STM32F103C8T6信息
stm32·单片机·嵌入式硬件
lishaoan773 小时前
快速安装Arduino IED的STM32 MCU开发包
stm32·单片机·嵌入式硬件·arduino·arduino ide·stm32 arduino
珊瑚里的鱼4 小时前
第一讲 | 算法复杂度
c语言·开发语言·数据结构·笔记·算法·visualstudio·visual studio
石马马户4 小时前
stm32 g031g8 flash擦除函数被坑
stm32
枫叶20005 小时前
OceanBase数据库-学习笔记5-用户
数据库·笔记·学习·oceanbase
OSwich5 小时前
【虚幻C++笔记】碰撞检测
c++·笔记·虚幻
程序员JerrySUN5 小时前
驱动开发硬核特训 · Day 24(上篇):走进Linux内核时钟子系统 —— 硬件基础全解析
linux·驱动开发·单片机
夜月yeyue5 小时前
STM32的Flash映射双重机制
stm32·单片机·嵌入式硬件
UFIT6 小时前
Nginx 核心功能笔记
运维·笔记·nginx