#ifndef _USER_MENU_DEVICE_H_ #define _USER_MENU_DEVICE_H_ #include "zf_common_typedef.h" /* 常用类型定义 */ /*============================================================ * 电池电压检测配置 *============================================================*/ #define VOLTAGE_PORT (ADC0_CH11_A11) /* 电池电压 ADC 通道 */ #define VOLTAGE_RECTIFY_COEFFICIENT (1.042832f) /* 电压分压校正系数 */ /*============================================================ * 蜂鸣器与报警配置 *============================================================*/ #define BEEP_PIN (P33_10) /* 蜂鸣器 GPIO */ #define BATT_ALARM_THRESHOLD 30.0f /* 低电量报警阈值 (%) */ /*============================================================ * 电机控制引脚配置 *============================================================*/ #define VACUUM_PWM (ATOM0_CH0_P21_2) /* 真空泵 PWM 引脚 */ /*============================================================ * IPS200 显示屏配置 *============================================================*/ /* 根据实际硬件选择 SPI 或 并口 方式: * IPS200_TYPE_SPI - SPI 接口模式 * IPS200_TYPE_PARALLEL8 - 8位并口模式 */ #define IPS200_HARDWARE_TYPE (IPS200_TYPE_SPI) /*============================================================ * 全局变量声明 (定义在 cpu0_main.c 中) *============================================================*/ /* ----- 编码器数据 (在 isr.c 中更新) ----- */ extern volatile int16 encoder_data_1; /* 编码器1计数值 */ extern volatile int16 encoder_data_2; /* 编码器2计数值 */ /* ----- IMU 数据 (在 isr.c 中更新, 变量定义在 zf_device_imu660rb.c) ----- */ extern int16 imu660rb_acc_x; /* X轴加速度 */ extern int16 imu660rb_acc_y; /* Y轴加速度 */ extern int16 imu660rb_acc_z; /* Z轴加速度 */ extern int16 imu660rb_gyro_x; /* X轴角速度 */ extern int16 imu660rb_gyro_y; /* Y轴角速度 */ extern int16 imu660rb_gyro_z; /* Z轴角速度 */ /*============================================================ * 全局变量声明 (由 user_menu_device.c 定义) *============================================================*/ /* ----- 电池电压变量 ----- */ extern float battery_voltage; /* 电池电压值 (V) */ extern float battery_percentage; /* 电池剩余百分比 (0-100) */ extern float battery_percentage_filter; /* 电池百分比(低通滤波后) */ /* ----- CPU占用率变量 ----- */ extern float cpu_usage_percentage; /* CPU占用率 (0-100) */ extern float cpu_usage_percentage_filter; /* CPU占用率(低通滤波后) */ /*============================================================ * 函数声明 *============================================================*/ void battery_voltage_gather(uint16 adc_get_data); /* 采集电池电压计算电量 */ void cpu_usage_record_frame(uint32 frame_busy_us); /* 记录帧处理耗时并统计占用率 */ void low_battery_alarm_check(void); /* 低电量蜂鸣报警 */ #endif