zhangbo
2025-05-09 84a8c0418e0f8ba87427afe20a345992f8764130
keil/include/main/main.c
@@ -140,8 +140,9 @@
             deep_sleep_falg=0;
            PCA9555_Set_One_Value_Output(LED_POWER,0);//输出低电平关闭LED
            PCA9555_Set_One_Value_Output(GPS_POWER,0);//关闭gps,4G 
                  PCA9555_Set_One_Value_Config(MAIN_RI,0);//配置4G唤醒引脚为输入
//                  PCA9555_Set_One_Value_Output(MAIN_RI,1);
//                  PCA9555_Set_One_Value_Config(MAIN_RI,0);//配置4G唤醒引脚为输入
//
////                  PCA9555_Set_One_Value_Output(MAIN_RI,1);
             boot_deinit();
            CloseUWB();
            PCA9555_Set_One_Value_Output(AIR780E_ENBALE,0);//关闭gps,4G 
@@ -206,6 +207,14 @@
      power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)PCA_INPUT_DETECT, POWER_WAKEUP_LEVEL_LOW);
      mcu_deep_sleep();
   }
}
void powerON_Task(void)
{
if(deep_sleep_falg==0)
{
PCA9555_Set_One_Value_Output(PWR_ENABLE,1);
}
}
void UserKeyTask(void)
{
@@ -309,19 +318,20 @@
uint8_t gps_ntripsend;
static void sleep_timer_callback(void *dev, uint32_t time)
{
// powerON_Task();
if(secondtask_count++%2==0)
    {   
        input5v_time=1;
        flag_secondtask = 1;
           #ifdef UWB_1_5HZ
           uwb_time_count++;
           uwb_offtime_count++;
           if(uwb_offtime_count>30)
        #endif
            uwb_offtime_count++;
           if(uwb_offtime_count>60)
            {
             uwb_offtime_count=0;
             current_state = STATE_SLEEP;
//             current_state = STATE_SLEEP;
            }
              #endif
        if(!read_5v_input_pca())
        {
        if(bat_percent>15)
@@ -433,7 +443,7 @@
      }
    g_com_map[MODBUS_MODE] = 0;
      log_4g_enable_flag=g_com_map[LOG_4G_ENABLE];
    g_com_map[VERSION] = (1<<8)|13;
    g_com_map[VERSION] = (1<<8)|14;
         
        
    LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
@@ -615,48 +625,51 @@
void upload_apppoll()
{   
   uint32_t elapsed_time_jibu;
#ifdef UWB_1_5HZ
    switch (current_state) 
         {
#ifdef UWB_1_5HZ
        case STATE_NORMAL:
            elapsed_time_jibu = uwb_time_count - state_start_time;
                switch(elapsed_time_jibu)
                  {
                     case UWB_OPEN_COUNT:
                            CloseUWB();
//                            uwbled = LEDOFF;
                          UWBSendUDPTask();
                          GPS_UPLOAD_FLAG=1;
                     break;
                     
                     case UWB_MEASUREMENT_INTERVAL:
                           taglist_num = 0;
                            OpenUWB();
//                            uwbled = WHITE;
                            CloseUWB();
                            Uwb_init();
                            OpenUWB();
                   state_start_time = uwb_time_count;   
                     
                     break;                  
                  }
            break;
#endif
        case STATE_SLEEP:
            elapsed_time_jibu = uwb_time_count - state_start_time;
                switch(elapsed_time_jibu)
                  {
                     case UWB_OPEN_COUNT:
                            CloseUWB();
                   UWBSendUDPTask();
                   UWBSendUDPTask();
                     break;
                     
                     case UWB_MEASUREMENT_INTERVAL_SLEEP:
                            OpenUWB();
                           taglist_num = 0;
                           CloseUWB();
                            Uwb_init();
                           OpenUWB();
                   state_start_time = uwb_time_count;                     
                     break;                  
                  }
            break;
         }   
#endif
}
uint8_t flag_4guart_needinit=0;
@@ -667,12 +680,17 @@
uint32_t test4;
extern uint8_t receive_flag;
int main(void)
{
 {
     __enable_irq();
    board_clock_run();
    boot_deinit();
    board_pins_config();
    gpio_open();
      IIC2_Init();
      Accelerometer_Init();
    PCA9555_init();
     board_debug_console_open_baud(TRACE_PORT_UART1,BAUD_115200);
    // Reset reason
    reset_cause_get();
    reset_cause_clear();
@@ -686,7 +704,7 @@
    }
    else
    {
        board_calibration_params_default();
      board_calibration_params_default();
    }
    calib_chip();
    wdt_close(WDT_ID0);
@@ -708,11 +726,10 @@
        TCPClient_Init_1();
    }
//    HTTPClient_Init();
    gpio_open();
    LED_output_init();//配置彩色灯引脚
    IIC2_Init();
    Accelerometer_Init();
    PCA9555_init();
    WT588E02B_Init();
    adc_open(&usr_adc_cfg);
    uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
@@ -748,6 +765,7 @@
    #endif  
    while (1)
    { 
        uwb_app_poll();
        Internet_Poll();
        HIDO_TimerPoll();