WXK
2025-04-17 8a2a686ae7a102b628f0a2b6c63b73b3f5ce573b
keil/include/main/main.c
@@ -122,8 +122,8 @@
            lock = int_lock();
//                  LOG_INFO(TRACE_MODULE_APP, "进入深度休眠\r\n");
//                  gps_air780_power_change(0,0);//关闭gps,4G 
            PCA9555_Set_One_Value_Output(GPS_POWER,0);//关闭gps,4G
            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭gps,4G
//            PCA9555_Set_One_Value_Output(GPS_POWER,0);//关闭gps,4G
//            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭gps,4G
                     sleep_timer_stop();   
                  //adc_close();
            power_enter_power_down_mode(1);
@@ -163,7 +163,7 @@
               //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);//拉高
//      PCA9555_Set_One_Value_Output(ADC_MINIUS,1);//拉高
}
extern uint8_t gps_uwb_flag,gps_need_data_flag;
uint8_t TCP_reconnect_timer,flag_TCP_reconnectting = 1,flag_alam_state = 0,userkey_state;
@@ -183,58 +183,58 @@
}
void UserKeyTask(void)
{
if(!read_userkey_input_pca())
     {
        if(HIDO_TimerGetTick() - keystarttime3>2)
        {
            userkey_state = 1;
            keystarttime3 =  HIDO_TimerGetTick();
                  //UDPClient_UploadGPS();
        }
//        if(HIDO_TimerGetTick() - keystarttime2>10)
//if(!read_userkey_input_pca())
//        {
//
//            g_com_map[CNT_RESTART] = 1;
//        if(HIDO_TimerGetTick() - keystarttime3>2)
//        {
//            userkey_state = 1;
//            keystarttime3 =  HIDO_TimerGetTick();
//                  //UDPClient_UploadGPS();
//        }
     }else
     {
       keystarttime3 =  HIDO_TimerGetTick();
     }
////        if(HIDO_TimerGetTick() - keystarttime2>10)
////        {
////
////            g_com_map[CNT_RESTART] = 1;
////        }
//     }else
//     {
//       keystarttime3 =  HIDO_TimerGetTick();
//     }
void PowerTask(void)
{
     if(read_powerkey_input_pca())
     {
        if(HIDO_TimerGetTick() - keystarttime>2)
        {
              rtkled=WHITE;
              uwbled=WHITE;
              led4g=WHITE;
              powerled=WHITE;
              Set4LEDColor(uwbled,rtkled,led4g,powerled);
            delay_ms(500);
            keystarttime =  HIDO_TimerGetTick();
            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)
//     if(read_powerkey_input_pca())
//        {
//
//            g_com_map[CNT_RESTART] = 1;
//        if(HIDO_TimerGetTick() - keystarttime>2)
//        {
////              rtkled=WHITE;
////              uwbled=WHITE;
////              led4g=WHITE;
////              powerled=WHITE;
////              Set4LEDColor(uwbled,rtkled,led4g,powerled);
////            delay_ms(500);
////            keystarttime =  HIDO_TimerGetTick();
////            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);//低电平关闭
//        }
     }else
     {
       keystarttime =  HIDO_TimerGetTick();
       keystarttime2 =  HIDO_TimerGetTick();
     }
////        if(HIDO_TimerGetTick() - keystarttime2>10)
////        {
////
////            g_com_map[CNT_RESTART] = 1;
////        }
//     }else
//     {
//       keystarttime =  HIDO_TimerGetTick();
//       keystarttime2 =  HIDO_TimerGetTick();
//     }
}
void MinuteTask(void)
{      
      PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
//      PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
//    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
}
void SecondTask(void)
{
@@ -286,26 +286,26 @@
    {   
        input5v_time=1;
        flag_secondtask = 1;
        if(!read_5v_input_pca())
//        if(!read_5v_input_pca())
        {
        if(bat_percent>15)
        {
            powerled = BLUE;
        }else{
             powerled = RED;
        }
//        if(bat_percent>15)
//        {
////            powerled = BLUE;
//        }else{
////             powerled = RED;
//        }
        ledonflag=1;
//        ledontime=HIDO_TimerGetTick();
        Set4LEDColor(uwbled,rtkled,led4g,powerled);
//        Set4LEDColor(uwbled,rtkled,led4g,powerled);
//        uart_send(UART_ID1, ceshidata, 50,NULL);
        }
        input5v_time=1;
        if(taglist_num==0)
        {
        CloseUWB();
        Uwb_init();
        OpenUWB();
        }
//        if(taglist_num==0)
//        {
//        CloseUWB();
//        Uwb_init();
//        OpenUWB();
//        }
    }else{
        flag_secondtask = 0;
    }
@@ -629,6 +629,7 @@
//}
int main(void)
{
    __enable_irq();
    board_clock_run();
    boot_deinit();
    board_pins_config();
@@ -658,25 +659,28 @@
    Internet_Init();
//    TCPClient_Init();
    HTTPClient_Init();
//    gps_air780_power_change(0,1);
    gpio_open();
    LED_output_init();//配置彩色灯引脚
    IIC2_Init();
//    LED_output_init();//配置彩色灯引脚
//    IIC2_Init();
//    Accelerometer_Init();
    PCA9555_init();
    adc_open(&usr_adc_cfg);
//    PCA9555_init();
//    adc_open(&usr_adc_cfg);
    IO_control_init();
    uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
    power_init();
    sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback);
    sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试
    PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
    pca_input_detection_init(pca_handler);//pca检测输入
//    PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
//    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
//    pca_input_detection_init(pca_handler);//pca检测输入
    DBG_SetMode(DBG_MODE_SHELL);
//    state5v=1;
//    state5V_prase_flag=state5v;
    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输入
    
    memcpy(/*(HIDO_UINT8 *)*/url,(void *)APP_CONFIG_IAP_PARAM_MAP,256);
    OTA_Start((HIDO_UINT8 *)url);