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

}
相关推荐
傻童:CPU30 分钟前
stm32程序的启动过程
stm32
CheerWWW30 分钟前
C++学习笔记——栈内存与堆内存、宏、auto、std::array
c++·笔记·学习
-许平安-1 小时前
MCP项目笔记十(客户端 MCPClient)
c++·笔记·ai·raii·mcp·pluginapi·plugin system
一只旭宝1 小时前
【C++ 入门精讲2】函数重载、默认参数、函数指针、volatile | 手写笔记(附完整代码)
c++·笔记
John.Lewis1 小时前
C++进阶(8)智能指针
开发语言·c++·笔记
無限進步D2 小时前
蓝桥杯赛前刷题
c++·算法·蓝桥杯·竞赛
JaneHan_2 小时前
STM32CubeMX+HAL+Keil5 PWM呼吸灯
c语言·stm32·单片机
weixin_395772472 小时前
计算机网络学习笔记】初始网络之网络发展和OSI七层模型
笔记·学习·计算机网络
Ww.xh2 小时前
STM32嵌入AI模型全流程指南
stm32
Ww.xh2 小时前
STM32嵌入AI模型实战指南
stm32