WXK
2025-03-12 3ec132c58bc4130f79390cebca35c176173cb67c
keil/include/main/main.c
@@ -135,7 +135,7 @@
    .flow = UART_FLOW_CONTROL_NONE,
    .rx_level = UART_RXFIFO_CHAR_1,
    .tx_level = UART_TXFIFO_EMPTY,
    .baud = BAUD_9600,
    .baud = BAUD_115200,
#if (TEST_UART_MODE == TEST_UART_POLL_MODE)
    .dma_en = false,
    .int_rx = false,
@@ -254,8 +254,11 @@
              Set4LEDColor(uwbled,rtkled,led4g,powerled);
            delay_ms(500);
            keystarttime =  HIDO_TimerGetTick();
            PCA9555_Set_One_Value_Output(PWR_ENABLE,0);//低电平关闭
            PCA9555_Set_One_Value_Output(LED_POWER,0);//输出低电平关闭LED
            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);
            PCA9555_Set_One_Value_Output(GPS_POWER,0);//关GPS
            PCA9555_Set_One_Value_Output(PWR_ENABLE,0);//低电平关闭
        }
//        if(HIDO_TimerGetTick() - keystarttime2>10)
//        {
@@ -309,27 +312,27 @@
        second_count = 0;
        MinuteTask();
    }
//    //UWB状态检测
//if(!power_low_flag)//低供电下不需要检测重连
//   {
//    if(IfTCPConnected())
//    {
//        TCP_reconnect_timer =0;
//        flag_TCP_reconnectting = 0;
//    } else {
//        if(TCP_reconnect_timer<30)//如果TCP没有连接,每隔10分钟尝试连接30秒
//        {
//            flag_TCP_reconnectting = 1;
//        } else {
//            flag_TCP_reconnectting = 0;
//        }
//        if(TCP_reconnect_timer++>600)
//        {
//            TCP_reconnect_timer = 0;
//        }
    //UWB状态检测
if(!power_low_flag)//低供电下不需要检测重连
   {
    if(IfTCPConnected())
    {
        TCP_reconnect_timer =0;
        flag_TCP_reconnectting = 0;
    } else {
        if(TCP_reconnect_timer<30)//如果TCP没有连接,每隔10分钟尝试连接30秒
        {
            flag_TCP_reconnectting = 1;
        } else {
            flag_TCP_reconnectting = 0;
        }
        if(TCP_reconnect_timer++>600)
        {
            TCP_reconnect_timer = 0;
        }
//    }
//   }
    }
   }
    HIDO_TimerTick();
//      if(nomove_count<=g_com_map[NOMOVESLEEP_TIME])//防止溢出
    nomove_count++;
@@ -412,6 +415,7 @@
    Usart1ParseDataCallback = UsartParseDataHandler;//需改为默认为gps处理,UsartParseDataHandler为升级处理当调试时候改为
    parameter_init_anchor();//g_com_map表初始化角色默认为基站
    dev_id=g_com_map[DEV_ID];//这里不太对
    g_com_map[GROUP_ID]=9;
    group_id=g_com_map[GROUP_ID];//组ID
//    tag_frequency = 1000/g_com_map[COM_INTERVAL];//测距频率这个存的是测距时间
    memcpy(&disoffset,&g_com_map[DIST_OFFSET],2);
@@ -444,7 +448,7 @@
    ip2 = (g_com_map[TCP_IP_2]>>12&0xf)*1000+(g_com_map[TCP_IP_2]>>8&0xf)*100+(g_com_map[TCP_IP_2]>>4&0xf)*10+(g_com_map[TCP_IP_2]&0xf);
    ip3 = (g_com_map[TCP_IP_3]>>12&0xf)*1000+(g_com_map[TCP_IP_3]>>8&0xf)*100+(g_com_map[TCP_IP_3]>>4&0xf)*10+(g_com_map[TCP_IP_3]&0xf);
    port = g_com_map[TCP_PORT];
    g_com_map[VERSION] = (1<<8)|1;
    g_com_map[VERSION] = (1<<8)|3;
    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,"服务器地址: %d.%d.%d.%d:%d.\r\n",ip0,ip1,ip2,ip3,port);
@@ -472,7 +476,7 @@
            rtkled=0;
            led4g=0;
            powerled=0;
            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);
//            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);
            while(1)
            {
                nomove_count = 0;
@@ -495,8 +499,15 @@
                    powerled = RED;
                }
                UART_CheckReceive();
                delay_ms(100);
                Internet_Poll();
                HIDO_TimerPoll();
                HIDO_ATLitePoll();
                TCPClient_Poll();
                if(flag_secondtask)
                {
                    flag_secondtask = 0;
                    SecondTask();
                }
                Set4LEDColor(0,0,0,powerled);
                if(input5v_time)
                {
@@ -567,7 +578,7 @@
int tt2;
int test1,test3;
uint32_t test4;
extern uint8_t receive_flag;
int main(void)
{
    board_clock_run();
@@ -646,6 +657,11 @@
      //board_4GUsart_detection_init(_4gUsart_handler);
      Uwb_init();
      OpenUWB();
//                        state5v=1;
//                state5V_prase_flag=state5v;
//                gps_prase_flag=0;//解除gps解析
//                uart1_change_from_gps_to_debug();//测试
//                PCA9555_Set_One_Value_Output(MCU_A,1);//输出高电平切换为5V输入
    while (1)
    { 
      uwb_app_poll();