This commit is contained in:
2026-02-02 10:33:43 +08:00
9 changed files with 1210 additions and 187 deletions

View File

@@ -80,7 +80,6 @@
/** @brief 传感器周期上报使能标志 */
volatile bool g_eddy_current_sensor_report_enabled = false;
volatile bool g_temperature_sensor_report_enabled = false;
/** @name 预设响应数据
* @{ */
@@ -114,28 +113,6 @@ void set_eddy_sensor_report_status(bool status)
g_eddy_current_sensor_report_enabled = status;
}
/**
* @brief 查询温度传感器是否启用周期性传感器上报。
* @return true 表示启用false 表示禁用。
* @ingroup Command
*/
bool get_temp_sensor_report_enabled(void)
{
return g_temperature_sensor_report_enabled;
}
/**
* @brief 设置温度传感器是否启用周期性传感器上报标志。
* @details 本模块内部保存的布尔状态,供其他逻辑决定是否进行周期性数据上报;
* 推荐通过本函数修改而非直接访问全局/静态变量,以便后续扩展(如加锁/回调)。
* @param status true 启用周期上报false 禁用。
* @ingroup Command
*/
void set_temp_sensor_report_status(bool status)
{
g_temperature_sensor_report_enabled = status;
}
/**
* @brief 计算协议包的 8 位累加校验值Checksum
* @details 对输入缓冲区逐字节累加并取低 8 位,累加范围为 data[1] 至 data[len-2]
@@ -310,12 +287,11 @@ void handle_command(const uint8_t *frame, uint8_t len) {
return;
case 3u:
set_temp_sensor_report_status(true);
eddy_current_report();
return;
case 4u:
set_temp_sensor_report_status(false);
send_response(RESP_TYPE_OK, s_report_status_ok, sizeof(s_report_status_ok));
temperature_raw_value_report();
return;
// case 201u: // M201命令
@@ -347,10 +323,9 @@ void handle_command(const uint8_t *frame, uint8_t len) {
return;
case 9999u:
// M9999: 重启系统
__disable_irq(); // 关闭全局中断GD32E230 CMSIS标准函数
nvic_system_reset(); // 系统复位GD32E230标准库函数
break;
__disable_irq();
NVIC_SystemReset();
return;
default:
// 其它无参数命令在此扩展示例M100处理逻辑该如何待定