shuichan_old/STM32F103_App1/HardWare/LED/led.c

62 lines
1.4 KiB
C
Raw Permalink Normal View History

#include "led.h"
static uint32_t last_tick = 0;
static uint32_t net_led_tick = 0;
/* <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>־<EFBFBD><D6BE>0=δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1=<3D><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD> */
volatile uint8_t g_net_led_connected = 0;
/* SmartConfig <20><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>־<EFBFBD><D6BE>1=NET_LED 100ms <20><><EFBFBD><EFBFBD> */
volatile uint8_t g_net_led_smartconfig = 0;
void ledInit(void)
{
GPIO_InitTypeDef g = {0};
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
g.Mode = GPIO_MODE_OUTPUT_PP;
g.Pull = GPIO_NOPULL;
g.Speed = GPIO_SPEED_FREQ_LOW;
/* LED2 - PC13 */
g.Pin = LED2_Pin;
HAL_GPIO_Init(LED2_Port, &g);
/* <20><><EFBFBD><EFBFBD>ָʾ<D6B8><CABE> - PA1, Ĭ<><C4AC>Ϩ<EFBFBD><CFA8> */
g.Pin = NET_LED_Pin;
HAL_GPIO_Init(NET_LED_Port, &g);
LED2_OFF;
NET_LED_OFF;
g_net_led_connected = 0;
last_tick = HAL_GetTick();
net_led_tick = HAL_GetTick();
}
/* <20><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>: ÿ500ms LED2<44><32>˸һ<CBB8><D2BB> */
void activeEvents(void)
{
if (HAL_GetTick() - last_tick >= 200) {
last_tick = HAL_GetTick();
LED2_TOGGLE;
}
/* <20><><EFBFBD><EFBFBD>ָʾ<D6B8>ƿ<EFBFBD><C6BF>ƣ<EFBFBD>SmartConfig <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 100ms <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱÿ 500ms <EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
if (g_net_led_smartconfig) {
if (HAL_GetTick() - net_led_tick >= 100) {
net_led_tick = HAL_GetTick();
NET_LED_TOGGLE;
}
} else if (!g_net_led_connected) {
if (HAL_GetTick() - net_led_tick >= 500) {
net_led_tick = HAL_GetTick();
NET_LED_TOGGLE;
}
} else {
NET_LED_ON;
}
}