- 新增完整的CMSIS解决方案配置,包含AC6/GCC/IAR/CLANG编译器支持 - 添加项目配置文件,定义了设备层、系统层、应用层的模块结构 - 配置ARM::CMSIS和GigaDevice::GD32E50x_DFP软件包依赖 - 创建多层代码架构:应用入口(main)、系统层(sys)、设备层(device) - 实现任务管理系统,包含任务调度器和任务执行器分离设计 - 集成ADC、CANFD、定时器、串口、温度采样等核心功能模块 - 添加详细的README文档说明项目结构和代码组织方式 - 配置AC6链接脚本和运行时环境文件 - 设置Git忽略规则以排除编译产物和临时文件
78 lines
3.2 KiB
Plaintext
78 lines
3.2 KiB
Plaintext
/**
|
|
* @file config.h
|
|
* @brief 应用级集中配置项定义。
|
|
* @note 用于统一管理当前项目中可调的外设、时序、通信与算法常量。
|
|
*/
|
|
#ifndef SYS_CONFIG_H
|
|
#define SYS_CONFIG_H
|
|
|
|
/** @brief 应用启动横幅字符串。 */
|
|
#define APP_BANNER_TEXT "GD32E508 DCU task scheduler start"
|
|
|
|
/** @brief USART0 默认波特率。 */
|
|
#define CONFIG_USART0_BAUDRATE 115200U
|
|
|
|
/** @brief ADC 外设实例。 */
|
|
#define CONFIG_ADC_INSTANCE ADC0
|
|
/** @brief ADC 内部温度通道号。 */
|
|
#define CONFIG_ADC_TEMP_CHANNEL ADC_CHANNEL_16
|
|
/** @brief ADC 内部参考电压通道号。 */
|
|
#define CONFIG_ADC_VREFINT_CHANNEL ADC_CHANNEL_17
|
|
/** @brief ADC 满量程计数值。 */
|
|
#define CONFIG_ADC_MAX_VALUE 4095.0f
|
|
/** @brief 内部参考电压典型值,单位 V。 */
|
|
#define CONFIG_ADC_VREFINT_TYPICAL_VOLTAGE 1.20f
|
|
/** @brief 温度传感器 25℃ 对应电压,单位 V。 */
|
|
#define CONFIG_ADC_TEMP_V25 1.43f
|
|
/** @brief 温度传感器平均斜率,单位 V/℃。 */
|
|
#define CONFIG_ADC_TEMP_AVG_SLOPE 0.0043f
|
|
/** @brief ADC 上电后稳定等待时间,单位 ms。 */
|
|
#define CONFIG_ADC_STABILIZE_DELAY_MS 2U
|
|
/** @brief ADC 规则通道采样时间配置。 */
|
|
#define CONFIG_ADC_SAMPLE_TIME ADC_SAMPLETIME_239POINT5
|
|
/** @brief ADC 空输入保护时默认 VDDA,单位 V。 */
|
|
#define CONFIG_ADC_DEFAULT_VDDA 3.3f
|
|
|
|
/** @brief CAN 外设实例。 */
|
|
#define CONFIG_CAN_INSTANCE CAN0
|
|
/** @brief CAN 外设时钟使能枚举。 */
|
|
#define CONFIG_CAN_RCU RCU_CAN0
|
|
/** @brief CAN 状态报文标准帧 ID。 */
|
|
#define CONFIG_CAN_STATUS_ID 0x321U
|
|
/** @brief CAN 状态载荷中调试标识字符 0。 */
|
|
#define CONFIG_CAN_STATUS_TAG0 0x43U
|
|
/** @brief CAN 状态载荷中调试标识字符 1。 */
|
|
#define CONFIG_CAN_STATUS_TAG1 0x41U
|
|
/** @brief CAN 状态载荷中调试标识字符 2。 */
|
|
#define CONFIG_CAN_STATUS_TAG2 0x4EU
|
|
/** @brief CAN 状态载荷中调试标识字符 3。 */
|
|
#define CONFIG_CAN_STATUS_TAG3 0x46U
|
|
|
|
/** @brief 用户调度定时器实例。 */
|
|
#define CONFIG_SCHED_TIMER_INSTANCE TIMER2
|
|
/** @brief 用户调度定时器中断号。 */
|
|
#define CONFIG_SCHED_TIMER_IRQn TIMER2_IRQn
|
|
/** @brief 用户调度定时器时钟使能宏参数。 */
|
|
#define CONFIG_SCHED_TIMER_RCU RCU_TIMER2
|
|
/** @brief 用户调度定时器预分频值。 */
|
|
#define CONFIG_SCHED_TIMER_PRESCALER 179U
|
|
/** @brief 用户调度定时器周期重装值。 */
|
|
#define CONFIG_SCHED_TIMER_PERIOD 99U
|
|
/** @brief 用户调度定时器 NVIC 抢占优先级。 */
|
|
#define CONFIG_SCHED_TIMER_IRQ_PREEMPT_PRIO 1U
|
|
/** @brief 用户调度定时器 NVIC 子优先级。 */
|
|
#define CONFIG_SCHED_TIMER_IRQ_SUB_PRIO 0U
|
|
|
|
/** @brief 调度基准节拍:ADC VREF 采样周期,单位 100us tick。 */
|
|
#define CONFIG_TASK_PERIOD_VREF_SAMPLE_TICKS 5U
|
|
/** @brief 调度基准节拍:ADC 温度采样/处理周期,单位 100us tick。 */
|
|
#define CONFIG_TASK_PERIOD_TEMP_SAMPLE_TICKS 10U
|
|
/** @brief 调度基准节拍:CAN 接收轮询/解析周期,单位 100us tick。 */
|
|
#define CONFIG_TASK_PERIOD_CAN_RX_TICKS 100U
|
|
/** @brief 调度基准节拍:CAN 发送/状态灯周期,单位 100us tick。 */
|
|
#define CONFIG_TASK_PERIOD_CAN_TX_TICKS 1000U
|
|
/** @brief 调度基准节拍:心跳/诊断打印周期,单位 100us tick。 */
|
|
#define CONFIG_TASK_PERIOD_HEARTBEAT_TICKS 10000U
|
|
|
|
#endif /* SYS_CONFIG_H */
|