chen
2024-12-13 e4581b34b42ae92d043e0fc29e1d745c396bce8f
keil/include/main/main.c
@@ -66,6 +66,7 @@
#define DEBUG_MODE
extern int simple_main(void);
extern int temp_main(void);
void uart_change_check(uint16_t gpio_state);
#define TEST_UART_POLL_MODE 0
#define TEST_UART_INTERUPT_MODE 1
#define TEST_UART_DMA_MODE 2
@@ -134,7 +135,7 @@
    .flow = UART_FLOW_CONTROL_NONE,
    .rx_level = UART_RXFIFO_CHAR_1,
    .tx_level = UART_TXFIFO_EMPTY,
    .baud = BAUD_115200,
    .baud = BAUD_9600,
#if (TEST_UART_MODE == TEST_UART_POLL_MODE)
    .dma_en = false,
    .int_rx = false,
@@ -193,13 +194,13 @@
            {
               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");
               //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");
               //LOG_INFO(TRACE_MODULE_APP, "电池电压正常,4G,GPS,正常工作\r\n");
            }
      gpio_pin_set(ADC_GND_ENABLE);//在拉高
      PCA9555_Set_One_Value_Output(ADC_MINIUS,1);//拉高
  //  LOG_INFO(TRACE_MODULE_APP, "The voltage is %%%d \r\n",bat_percent);
}
//void UartInit(void)
@@ -318,7 +319,8 @@
     }
 } 
void MinuteTask(void)
{      gpio_pin_clr(ADC_GND_ENABLE);//拉低
{
      PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
}
void SecondTask(void)
@@ -328,8 +330,6 @@
        second_count = 0;
        MinuteTask();
    }
      TagListUpdate_person_num_car();
      in_table_log();
      
//      if(!power_low_flag)
//      Gps_change();
@@ -380,6 +380,7 @@
   {
      nomove_count=0;
   }
   uart_change_check(gpio_state);
}
static void sleep_timer_callback(void *dev, uint32_t time)
{
@@ -475,7 +476,30 @@
}
void uart_change_check(uint16_t gpio_state)
{
   if(INPUT_5V_POSITION&gpio_state)
      {
              if(state5v==0)
        {
            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输入
        }
      }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
        }
         }
}
void IdleTask(void)
{
//    if(gpio_pin_get_val(INPUT_5V_Pin))
@@ -551,11 +575,11 @@
    board_clock_run();
    boot_deinit();
    board_pins_config();
   board_debug_console_open(TRACE_PORT_UART1);
   board_debug_console_open_baud(TRACE_PORT_UART1,BAUD_115200);
    // Reset reason
    reset_cause_get();
    reset_cause_clear();
//注意串口一波特率改为9600了为了能和GPS通信上
    // Load calibration parameters from NVM
    uint32_t internal_flash = (REG_READ(0x40000018) >> 17) & 0x1;
    uint32_t external_flash = (REG_READ(0x40010030) >> 28) & 0x3;
@@ -586,10 +610,11 @@
//    TCPClient_Init();
    gpio_open();
      board_output_init();//配置adcGND引脚
      //board_output_init();//配置adcGND引脚
//      battery_monitor_open();
//      Voltage_input=battery_monitor_get();
//      battery_monitor_close();
    adc_open(&usr_adc_cfg);
      
    IIC2_Init();
@@ -616,13 +641,18 @@
    sleep_timer_start(__MS_TO_32K_CNT(g_com_map[COM_INTERVAL]));//测试
    //sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试
 //   board_5V_input_init(voltage_input_handler);
         PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
       adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
    board_acceleration_detection_init(move_handler);
      pca_input_detection_init(pca_handler);//pca检测输入
      //       LOG_INFO(TRACE_MODULE_APP, "测试进入app");
      Uwb_init();
      OpenUWB();
      //board_4GUsart_detection_init(_4gUsart_handler);
    while (1)
    { test4=gpio_pin_get_val(SCL_PIN);
    {
         uwb_app_poll();
         //test4=gpio_pin_get_val(SCL_PIN);
         //UWBPoll();
//         if(!power_low_flag)//确认是否休眠下才开启功能
//         {