Files
STM32F4-Base/App/sys_events.h
T

40 lines
1.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 模块名称:系统就绪事件(启动顺序管理)
* 模块功能:用 CMSIS-RTOS v2 Event Flags 表达"子系统就绪",作为任务启动顺序的
* 就绪屏障(readiness barrier)。生产者(netTask / defaultTask 等)在自身
* 就绪后置位对应 bit;消费者(ftpTask / start_test_task / timeSyncTask 等)
* 在入口阻塞等待依赖的 bit,就绪才放行,取代魔法延时与全局标志轮询。
* 适用平台:STM32F4 系列(CMSIS-RTOS V2)
* 作者:王建锋
* 创建日期:2026-08-29
*/
#ifndef SYS_EVENTS_H
#define SYS_EVENTS_H
#include "cmsis_os2.h"
#ifdef __cplusplus
extern "C" {
#endif
/* 系统就绪事件组句柄(CubeMX 生成:FREERTOS Events 对象 sys_evt,
* 由 MX_FREERTOS_Init 在 freertos.c 的 generated 区域自动声明并 osEventFlagsNew 创建) */
extern osEventFlagsId_t sys_evtHandle;
/* 各子系统"就绪"事件位(32 位上限内的 bit 0~30) */
#define SYS_EVT_NET_READY (1u << 0) /* netTask:net_init + PHY 稳定完成 */
#define SYS_EVT_STORAGE_READY (1u << 1) /* defaultTask:FTL/FatFS 挂载完成 */
#define SYS_EVT_FTP_READY (1u << 2) /* ftpTask:lftpd_start 完成 */
#define SYS_EVT_TIMESYNC_READY (1u << 3) /* timeSyncTask:首次时间同步完成 */
#define SYS_EVT_NET_RECONFIG (1u << 4) /* UI:请求立即应用新网口配置(netTask 消费后重建网络) */
#define SYS_EVT_CFG_SAVE (1u << 5) /* UI:网口配置保存请求(defaultTask = 配置引擎属主,消费并写盘) */
#define SYS_EVT_CONSOLE_TX (1u << 6) /* 控制台单写者:生产者入环形缓冲后置位,defaultTask 消费并发送
* (消费型命令位,非就绪位——就绪位必须 osFlagsNoClear) */
#ifdef __cplusplus
}
#endif
#endif /* SYS_EVENTS_H */