#include "myapplication.h"
static void LedLight(uint8_t lednum);
static void LedExtinguish(uint8_t lednum);
static void LedSwitch(uint8_t lednum);
static void Led1Blink(void);
led_funtcions led_operater =
{
LedLight,
LedExtinguish,
LedSwitch
};
static void LedLight(uint8_t lednum)
{
switch(lednum)
{
case LED1 :
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
break;
case LED2 :
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);
break;
case LED3 :
HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET);
break;
default :
Led1Blink();
}
}
static void LedExtinguish(uint8_t lednum)
{
switch(lednum)
{
case LED1 :
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
break;
case LED2 :
HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);
break;
case LED3 :
HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET);
break;
default :
Led1Blink();
}
}
static void LedSwitch(uint8_t lednum)
{
switch(lednum)
{
case LED1 :
HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
break;
case LED2 :
HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin);
break;
case LED3 :
HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin);
break;
default :
Led1Blink();
}
}
//如果输入的不是LED1/LED2/LED3则LED1闪烁
static void Led1Blink(void)
{
HAL_Delay(100);
HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
} |