网站页面设计要求外贸推广优化公司
使用定时器,每隔0.1秒进中断,去判断是否符合你的条件,如果符合条件,就亮,否则灭。
具体逻辑参考以下代码
在一个if里面,两个条件一起判断,执行的内容也混一块。
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();//都灭}}