113 lines
3.1 KiB
C
113 lines
3.1 KiB
C
#include "leds.h"
|
||
|
||
unsigned char tim_led_state = 0;
|
||
|
||
/**
|
||
* @brief 打开指定的LED灯
|
||
*
|
||
* 根据传入的LED灯枚举值,打开对应的LED灯。
|
||
*
|
||
* @param io LED灯的枚举值,表示需要打开的LED灯。
|
||
*/
|
||
void leds_on(leds_e io)
|
||
{
|
||
switch (io)
|
||
{
|
||
case LEDS2_RED:
|
||
HAL_GPIO_WritePin(LED2_R_GPIO_Port, LED2_R_Pin, GPIO_PIN_RESET);
|
||
break;
|
||
case LEDS2_GREEN:
|
||
HAL_GPIO_WritePin(LED2_G_GPIO_Port, LED2_G_Pin, GPIO_PIN_RESET);
|
||
break;
|
||
case LEDS2_YELLOW:
|
||
HAL_GPIO_WritePin(LED2_Y_GPIO_Port, LED2_Y_Pin, GPIO_PIN_RESET);
|
||
break;
|
||
case LEDS3_RED:
|
||
HAL_GPIO_WritePin(LED3_R_GPIO_Port, LED3_R_Pin, GPIO_PIN_RESET);
|
||
break;
|
||
case LEDS3_GREEN:
|
||
HAL_GPIO_WritePin(LED3_G_GPIO_Port, LED3_G_Pin, GPIO_PIN_RESET);
|
||
break;
|
||
case LEDS3_YELLOW:
|
||
HAL_GPIO_WritePin(LED3_Y_GPIO_Port, LED3_Y_Pin, GPIO_PIN_RESET);
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @brief 关闭指定的LED灯
|
||
*
|
||
* 根据传入的LED灯枚举值,关闭对应的LED灯。
|
||
*
|
||
* @param io LED灯的枚举值
|
||
*/
|
||
void leds_off(leds_e io)
|
||
{
|
||
switch (io)
|
||
{
|
||
case LEDS2_RED:
|
||
HAL_GPIO_WritePin(LED2_R_GPIO_Port, LED2_R_Pin, GPIO_PIN_SET);
|
||
break;
|
||
case LEDS2_GREEN:
|
||
HAL_GPIO_WritePin(LED2_G_GPIO_Port, LED2_G_Pin, GPIO_PIN_SET);
|
||
break;
|
||
case LEDS2_YELLOW:
|
||
HAL_GPIO_WritePin(LED2_Y_GPIO_Port, LED2_Y_Pin, GPIO_PIN_SET);
|
||
break;
|
||
case LEDS3_RED:
|
||
HAL_GPIO_WritePin(LED3_R_GPIO_Port, LED3_R_Pin, GPIO_PIN_SET);
|
||
break;
|
||
case LEDS3_GREEN:
|
||
HAL_GPIO_WritePin(LED3_G_GPIO_Port, LED3_G_Pin, GPIO_PIN_SET);
|
||
break;
|
||
case LEDS3_YELLOW:
|
||
HAL_GPIO_WritePin(LED3_Y_GPIO_Port, LED3_Y_Pin, GPIO_PIN_SET);
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @brief 打开所有LED灯
|
||
*
|
||
* 该函数用于将所有LED灯打开。
|
||
*
|
||
* 通过将指定GPIO端口和引脚上的电平设置为低电平(GPIO_PIN_RESET),
|
||
* 从而打开相应的LED灯。
|
||
*/
|
||
void leds_on_all(void)
|
||
{
|
||
HAL_GPIO_WritePin(LED2_R_GPIO_Port, LED2_R_Pin, GPIO_PIN_RESET);
|
||
HAL_GPIO_WritePin(LED2_G_GPIO_Port, LED2_G_Pin, GPIO_PIN_RESET);
|
||
HAL_GPIO_WritePin(LED2_Y_GPIO_Port, LED2_Y_Pin, GPIO_PIN_RESET);
|
||
HAL_GPIO_WritePin(LED3_R_GPIO_Port, LED3_R_Pin, GPIO_PIN_RESET);
|
||
HAL_GPIO_WritePin(LED3_G_GPIO_Port, LED3_G_Pin, GPIO_PIN_RESET);
|
||
HAL_GPIO_WritePin(LED3_Y_GPIO_Port, LED3_Y_Pin, GPIO_PIN_RESET);
|
||
}
|
||
|
||
/**
|
||
* @brief 关闭所有LED灯
|
||
*
|
||
* 该函数用于将所有LED灯关闭。
|
||
*/
|
||
void leds_off_all(void)
|
||
{
|
||
HAL_GPIO_WritePin(LED2_R_GPIO_Port, LED2_R_Pin, GPIO_PIN_SET);
|
||
HAL_GPIO_WritePin(LED2_G_GPIO_Port, LED2_G_Pin, GPIO_PIN_SET);
|
||
HAL_GPIO_WritePin(LED2_Y_GPIO_Port, LED2_Y_Pin, GPIO_PIN_SET);
|
||
HAL_GPIO_WritePin(LED3_R_GPIO_Port, LED3_R_Pin, GPIO_PIN_SET);
|
||
HAL_GPIO_WritePin(LED3_G_GPIO_Port, LED3_G_Pin, GPIO_PIN_SET);
|
||
HAL_GPIO_WritePin(LED3_Y_GPIO_Port, LED3_Y_Pin, GPIO_PIN_SET);
|
||
}
|
||
|
||
// void lan8720_reset(void)
|
||
// {
|
||
// LL_GPIO_ResetOutputPin(ETH_RESET_GPIO_Port, ETH_RESET_Pin);
|
||
// HAL_Delay(55);
|
||
// LL_GPIO_SetOutputPin(ETH_RESET_GPIO_Port, ETH_RESET_Pin);
|
||
// HAL_Delay(55);
|
||
// }
|