【备赛】蓝桥杯实现多个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 小时前
Spring Boot 3零基础教程,WEB 开发 静态资源默认配置 笔记27
spring boot·笔记·后端
LXS_3574 小时前
Day 05 C++ 入门 之 指针
开发语言·c++·笔记·学习方法·改行学it
小莞尔4 小时前
【51单片机】【protues仿真】基于51单片机数字温度计数码管系统
单片机·嵌入式硬件
future14126 小时前
MCU硬件学习
单片机·嵌入式硬件·学习
mtactor7 小时前
投资理财学习笔记
笔记·学习·金融
GilgameshJSS7 小时前
STM32H743-ARM例程24-USB_MSC
c语言·arm开发·stm32·单片机·嵌入式硬件
小莞尔7 小时前
【51单片机】【protues仿真】基于51单片机电压测量多量程系统
c语言·单片机·嵌入式硬件·物联网·51单片机
showmethetime7 小时前
STM32实现LED舞台灯具控制
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi8 小时前
基于单片机的智能电力参数测量 (论文+源码)
单片机·嵌入式硬件·毕业设计·电力参数测量
python百炼成钢8 小时前
3.Linux 网络相关
linux·运维·网络·stm32·单片机