From 557b784841cac940a796f1cecba1e4120fc79c9d Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期四, 17 七月 2025 14:46:37 +0800 Subject: [PATCH] V1.19GPS修改为单北斗模式 --- keil/include/main/main.c | 82 ++++++++++++++++++++++++++++++----------- 1 files changed, 60 insertions(+), 22 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index 04077af..da3b8e6 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -178,16 +178,20 @@ bat_percent = ((fVoltage_mv - 3300) /8); } } - if(fVoltage_mv<3300) - { - //power_low_flag=1; - //gps_air780_power_change(gps_power_state,0);//gps原样,关闭4G -// LOG_INFO(TRACE_MODULE_APP, "电池电压低于3.3V,4G,GPS停止工作\r\n"); - }else{ - //power_low_flag=0; - //gps_air780_power_change(gps_power_state,1);//gps原样,开启4G -// LOG_INFO(TRACE_MODULE_APP, "电池电压正常,4G,GPS,正常工作\r\n"); - } + if(bat_percent>100) + bat_percent=100; + if(bat_percent<0) + bat_percent=0; +// if(fVoltage_mv<3300) +// { +// //power_low_flag=1; +// //gps_air780_power_change(gps_power_state,0);//gps原样,关闭4G +//// LOG_INFO(TRACE_MODULE_APP, "电池电压低于3.3V,4G,GPS停止工作\r\n"); +// }else{ +// //power_low_flag=0; +// //gps_air780_power_change(gps_power_state,1);//gps原样,开启4G +//// LOG_INFO(TRACE_MODULE_APP, "电池电压正常,4G,GPS,正常工作\r\n"); +// } PCA9555_Set_One_Value_Output(ADC_MINIUS,1);//拉高 } extern uint8_t gps_uwb_flag,gps_need_data_flag; @@ -323,14 +327,14 @@ { input5v_time=1; flag_secondtask = 1; - #ifdef UWB_1_5HZ + #ifdef UWB_1_5HZ uwb_time_count++; #endif uwb_offtime_count++; if(uwb_offtime_count>60) { uwb_offtime_count=0; -// current_state = STATE_SLEEP; + current_state = STATE_SLEEP; } if(!read_5v_input_pca()) { @@ -443,11 +447,11 @@ } g_com_map[MODBUS_MODE] = 0; log_4g_enable_flag=g_com_map[LOG_4G_ENABLE]; - g_com_map[VERSION] = (1<<8)|14; + g_com_map[VERSION] = (1<<8)|19; LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); - LOG_INFO(TRACE_MODULE_APP,"固件版本:4G-GPS定位工卡 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); + LOG_INFO(TRACE_MODULE_APP,"固件版本:4G-GPS-URT V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); LOG_INFO(TRACE_MODULE_APP,"服务器地址: %d.%d.%d.%d:%d.\r\n",g_com_map[IP_0],g_com_map[IP_1],g_com_map[IP_2],g_com_map[IP_3],g_com_map[PORT]); if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_TCP) { @@ -567,19 +571,28 @@ } } } - NVIC_SystemReset(); +// NVIC_SystemReset(); +// PCA9555_Set_One_Value_Output(PWR_ENABLE,0); input5vflag=1; } else { if(state5v==1) { - g_com_map[MODBUS_MODE] = 0; - state5v=0; - state5V_prase_flag=state5v; - gps_prase_flag=1;//恢复gps解析 - uart1_change_from_debug_to_gps();//测试 - PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS + g_com_map[MODBUS_MODE] = 0; + state5v=0; + state5V_prase_flag=state5v; +// gps_prase_flag=1;//恢复gps解析 +// uart1_change_from_debug_to_gps();//测试 +// PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS + PCA9555_Set_One_Value_Output(LED_POWER,0);//输出低电平关闭LED +// PCA9555_Set_One_Value_Output(TTS_ENABLE,0); + PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0); + PCA9555_Set_One_Value_Output(GPS_POWER,0);//关GPS + delay_ms(200); + PCA9555_Set_One_Value_Output(PWR_ENABLE,0);//低电平关闭 + + } } UART_CheckReceive(); @@ -671,7 +684,32 @@ } } +uint8_t send_gps_over=0; + char gps_str[19]= {"$CFGSYS,h00000010\r\n"}; + char gps_str2[20]= {"$CFGSAVE,h00000010\r\n"}; + char gps_str1[9]={"$CFGSYS\r\n"}; +void send_to_gps() +{ +// $CFGSAVE,h00000010 + + if(uwb_time_count>10&&send_gps_over==0) + { + send_gps_over=1; + uart_send(UART_ID1, gps_str,19, NULL); + } + if(uwb_time_count>13&&send_gps_over==1) + { + send_gps_over=2; + uart_send(UART_ID1, gps_str2,20, NULL); + } + if(uwb_time_count>15&&send_gps_over==2) + { + send_gps_over=3; + uart_send(UART_ID1, gps_str1,9, NULL); + } + +} uint8_t flag_4guart_needinit=0; uint8_t index1,index2,index3; int16_t Voltage_input; @@ -765,7 +803,7 @@ #endif while (1) { - + send_to_gps(); uwb_app_poll(); Internet_Poll(); HIDO_TimerPoll(); -- Gitblit v1.9.3