chen
2024-12-16 e9628df331488a100bb4134469a3a0ce7f321625
keil/include/main/main.c
@@ -62,6 +62,7 @@
#include "HIDO_Timer.h"
#include "TCPClient.h"
#include "PCA9555.h"
#include "WS2812.h"
#define DEBUG_MODE
extern int simple_main(void);
@@ -372,6 +373,7 @@
uint8_t tt=1;
uint8_t flag_sleeptimer,flag_secondtask,secondtask_count,log_4g_enable_flag;
uint8_t uwb_enable_flag=0;
void check_input_change(void)
{
   uint16_t gpio_state;
@@ -380,39 +382,21 @@
   {
      nomove_count=0;
   }
   uart_change_check(gpio_state);
   //uart_change_check(gpio_state);
}
static void sleep_timer_callback(void *dev, uint32_t time)
{
    //IO_control_init();
      if(enbale_blink_flag)
   {
   green_charge_state=0;
   charge_red_on();
   }
   charge_state_change();//充电状态判断
if(secondtask_count++%2==0)
    {
        flag_secondtask = 1;
    }else{
        flag_secondtask = 0;
    }
      if(enbale_blink_flag)
   {
      //delay_us(5000);
   green_charge_state=0;
   charge_red_off();
   }
 if(delaysleep_count>0)
     delaysleep_count--;
    //GPS工作逻辑
}
static void voltage_input_handler(enum IO_PIN_T pin)
{
}
static void move_handler(enum IO_PIN_T pin)
{
    nomove_count=0;
@@ -502,32 +486,27 @@
}
void IdleTask(void)
{
//    if(gpio_pin_get_val(INPUT_5V_Pin))
//    {
//        if(state5v==0)
//        {
//            state5v=1;
//            state5V_prase_flag=state5v;
//            gps_prase_flag=0;//解除gps解析
//            uart1_change_from_gps_to_debug();//测试
//         //   uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);//开启dma
//            //UartInit();
//        }
//        //UART_CheckSend();
//    } 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();//测试
//          //  uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);//开启dma
//            //UartDeinit();
//        }
//    }
if(read_5v_input_pca())
      {
              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
        }
         }
      UART_CheckReceive();
}
int bind_check(void)
@@ -610,7 +589,7 @@
//    TCPClient_Init();
    gpio_open();
      //board_output_init();//配置adcGND引脚
      LED_output_init();//配置adcGND引脚
//      battery_monitor_open();
//      Voltage_input=battery_monitor_get();
//      battery_monitor_close();
@@ -620,14 +599,21 @@
    IIC2_Init();
    Accelerometer_Init();
      PCA9555_init();
    //IO_control_init();
      if(!read_5v_input_pca())
      {
     Set4LEDColor(BLUE,GREEN,WHITE,GREEN);
     delay_ms(500);
     Set4LEDColor(RED,WHITE,RED,WHITE);
     delay_ms(500);
     Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF);
    }
         //IO_control_init();
//    io_pin_mux_set(SCL_PIN, IO_FUNC0);//测试测距波形
//    gpio_pin_set_dir(SCL_PIN , GPIO_DIR_IN, 0);
//    io_pull_set(SCL_PIN , IO_PULL_UP, IO_PULL_UP_LEVEL4);
    //gps_air780_power_change(0,1);//开启gps,4G 
//加速度计初始化必须在IO_control_init之前因为复用SDA引脚
      gpio_pin_clr(ADC_GND_ENABLE);
         Program_Init();
    //uart_open(UART_ID1, &test_uart_cfg);
   // uart1_change_from_gps_to_debug();