修复蜂鸣器无法关闭的问题 zsxfly20240919

This commit is contained in:
zsx 2024-09-19 18:02:18 +08:00
parent 67891ca538
commit 28f347c13f
2 changed files with 11 additions and 6 deletions

View File

@ -122,9 +122,9 @@ void FunctionalCode_03_06(uint8_t CMDCode, uint16_t reg_addr , uint16_t reg_val_
break; break;
} }
}else if(CMDCode == 0x06){ }else if(CMDCode == 0x06){
sys_conf.VERSION =reg_val_num; // sys_conf.VERSION =reg_val_num;
MODBUS_Sent_BUF[len_count++] =sys_conf.VERSION >> 8; // MODBUS_Sent_BUF[len_count++] =sys_conf.VERSION >> 8;
MODBUS_Sent_BUF[len_count++] =sys_conf.VERSION & 0xff; // MODBUS_Sent_BUF[len_count++] =sys_conf.VERSION & 0xff;
break; break;
} }
case 0x0003: // 系统自检(只读) case 0x0003: // 系统自检(只读)

View File

@ -52,6 +52,8 @@ void radar_AUTO_BrakeORSpeedCut(uint8_t radar_id , uint16_t Car_Distance){ //距
} }
} }
static uint8_t new_state_cnt=3;//标记状态是否变化
// 定时处理数和获取数据 // 定时处理数和获取数据
static tmr_tk_t radar_timer_handler(tmr_id_t id){ static tmr_tk_t radar_timer_handler(tmr_id_t id){
(void)(id); (void)(id);
@ -60,17 +62,20 @@ static tmr_tk_t radar_timer_handler(tmr_id_t id){
radar_CMDSend_cnt =0; // 清空发送命令计数 radar_CMDSend_cnt =0; // 清空发送命令计数
DEBUG("ID =%d,distance =%d", radar_data.radar_id ,radar_data.distance); DEBUG("ID =%d,distance =%d", radar_data.radar_id ,radar_data.distance);
} }
if((radar_CMDSend_cnt !=0)){ if((radar_CMDSend_cnt !=0)||(1 ==new_state_cnt)){//
DEBUG("Clear:CMD_cnt =%d", radar_CMDSend_cnt); DEBUG("Clear:CMD_cnt =%d", radar_CMDSend_cnt);
radar_CMDSend_cnt =0; // 清空发送命令计数 radar_CMDSend_cnt =0; // 清空发送命令计数
radar_AUTO_BrakeORSpeedCut(0 , 0);//复位自动刹车和减速状态 radar_AUTO_BrakeORSpeedCut(radar_data.radar_id , 0);//复位自动刹车和减速状态
}
if(new_state_cnt > 0){
new_state_cnt--;
} }
// 进入游客模式开启雷达 //管理员模式优先于游客模式 // 进入游客模式开启雷达 //管理员模式优先于游客模式
if((0x01 == (sys_sta.Pmode | sys_sta.Smode)) && sys_sta.P_Radar_EN){ if((0x01 == (sys_sta.Pmode | sys_sta.Smode)) && sys_sta.P_Radar_EN){
// 根据倒车状态确定雷达ID // 根据倒车状态确定雷达ID
DEBUG("SendCMD:ID=%#02x", SYS_Back_STA ? RADAR_ID_Back : RADAR_ID_Front); DEBUG("SendCMD:ID=%#02x", SYS_Back_STA ? RADAR_ID_Back : RADAR_ID_Front);
app_radar_Sendcmd(SYS_Back_STA ? RADAR_ID_Back : RADAR_ID_Front,RADAR_MODE_Real); app_radar_Sendcmd(SYS_Back_STA ? RADAR_ID_Back : RADAR_ID_Front,RADAR_MODE_Real);
new_state_cnt =3;
radar_CMDSend_cnt++; radar_CMDSend_cnt++;
} }