Добавлены служебные файлы и второй бэкап john103C8T6

This commit is contained in:
2026-06-26 15:24:44 +03:00
parent 0692b21d9b
commit 5cbffd3674
1851 changed files with 1000054 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
#include "linkBlink.h"
/* Ëîêàëüíàÿ êîïèÿ êîíôèãóðàöèè */
static LED_BlinkRx_Config_t led_cfg;
/* Âíóòðåííèå ïåðåìåííûå ñîñòîÿíèÿ */
static uint32_t last_tick = 0; // Âðåìÿ ïîñëåäíåãî ïåðåêëþ÷åíèÿ
static uint8_t toggle_counter = 0; // Ñ÷¸ò÷èê ïåðåêëþ÷åíèé
static uint8_t blinking = 0; // Ôëàã àêòèâíîãî ìèãàíèÿ
/**
* @brief Èíèöèàëèçàöèÿ ñòðóêòóðû
*/
void LED_BlinkRx_Init(LED_BlinkRx_Config_t *cfg)
{
led_cfg = *cfg;
}
/**
* @brief Çàïóñê ìèãàíèÿ ïðè ïðè¸ìå äàííûõ
*/
void LED_BlinkRx_OnRx(void)
{
blinking = 1;
toggle_counter = 0;
last_tick = HAL_GetTick();
}
/**
* @brief Ôóíêöèÿ äîëæíà âûçûâàòüñÿ ðåãóëÿðíî (â while(1))
*/
void LED_BlinkRx_Process(void)
{
if (!blinking)
return;
/* Ïðîâåðêà èñòå÷åíèÿ ïåðèîäà */
if (HAL_GetTick() - last_tick >= led_cfg.blink_period)
{
last_tick = HAL_GetTick();
/* Ïåðåêëþ÷àåì ñîñòîÿíèå ïèíà */
HAL_GPIO_TogglePin(led_cfg.port, led_cfg.pin);
toggle_counter++;
/* Êàæäîå ìèãàíèå = 2 ïåðåêëþ÷åíèÿ (âêë + âûêë) */
if (toggle_counter >= led_cfg.blink_count * 2)
{
HAL_GPIO_WritePin(led_cfg.port, led_cfg.pin, GPIO_PIN_SET);
blinking = 0;
}
}
}

View File

@@ -0,0 +1,33 @@
#ifndef LED_BLINK_RX_H
#define LED_BLINK_RX_H
#include "stm32f4xx_hal.h" // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (stm32f4xx_hal.h <20> <20>.<2E>.)
/**
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
typedef struct
{
GPIO_TypeDef *port; // GPIO <20><><EFBFBD><EFBFBD>
uint16_t pin; // GPIO <20><><EFBFBD>
uint32_t blink_period; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><>)
uint8_t blink_count; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
} LED_BlinkRx_Config_t;
/**
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void LED_BlinkRx_Init(LED_BlinkRx_Config_t *cfg);
/**
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void LED_BlinkRx_OnRx(void);
/**
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
*/
void LED_BlinkRx_Process(void);
#endif