- 新增完整的CMSIS解决方案配置,包含AC6/GCC/IAR/CLANG编译器支持 - 添加项目配置文件,定义了设备层、系统层、应用层的模块结构 - 配置ARM::CMSIS和GigaDevice::GD32E50x_DFP软件包依赖 - 创建多层代码架构:应用入口(main)、系统层(sys)、设备层(device) - 实现任务管理系统,包含任务调度器和任务执行器分离设计 - 集成ADC、CANFD、定时器、串口、温度采样等核心功能模块 - 添加详细的README文档说明项目结构和代码组织方式 - 配置AC6链接脚本和运行时环境文件 - 设置Git忽略规则以排除编译产物和临时文件
43 lines
1012 B
Plaintext
43 lines
1012 B
Plaintext
/**
|
|
* @file task_manager.h
|
|
* @brief 任务标志调度与时基驱动接口定义。
|
|
*/
|
|
#ifndef SYS_TASK_MANAGER_H
|
|
#define SYS_TASK_MANAGER_H
|
|
|
|
#include <stdint.h>
|
|
|
|
/**
|
|
* @brief 初始化任务管理器内部状态。
|
|
* @param[in] 无。
|
|
* @param[out] 无。
|
|
* @retval 无返回值。
|
|
*/
|
|
void task_manager_init(void);
|
|
|
|
/**
|
|
* @brief 推进一次 100us 调度节拍并按周期置位待执行任务。
|
|
* @param[in] 无。
|
|
* @param[out] 无。
|
|
* @retval 无返回值。
|
|
*/
|
|
void task_manager_tick_100us(void);
|
|
|
|
/**
|
|
* @brief 原子地取出当前所有待执行任务标志。
|
|
* @param[in] 无。
|
|
* @param[out] 无。
|
|
* @retval uint32_t 返回当前待执行任务位图,并在内部清除对应标志。
|
|
*/
|
|
uint32_t task_manager_take_pending(void);
|
|
|
|
/**
|
|
* @brief 设置一个或多个待执行任务标志。
|
|
* @param[in] task_mask 待置位的任务位图掩码。
|
|
* @param[out] 无。
|
|
* @retval 无返回值。
|
|
*/
|
|
void task_manager_set(uint32_t task_mask);
|
|
|
|
#endif /* SYS_TASK_MANAGER_H */
|