zhangbo
4 天以前 f8fe8c08a399c3b6622f809fda4925851aef2c21
keil/include/main/main.c
@@ -93,7 +93,8 @@
#define UWB_OPEN_COUNT 1                                              // UWB每次开启持续时间(秒)
#define UWB_MEASUREMENT_INTERVAL 3                               // 正常状态测距周期
#define UWB_MEASUREMENT_INTERVAL_SLEEP 60                      // 休眠状态测距周期
#define INACTIVE_TIMEOUT  30                           // 无步数变化超时时间(秒)
#define INACTIVE_TIMEOUT  6
// 无步数变化超时时间(秒)
void test_Delay_us(uint16_t time);
@@ -339,7 +340,7 @@
     input5v_time=1;
//    g_start_send_flag=1;
     HIDO_TimerTick();
//     lora_tx_flag++;
     lora_tx_flag++;
     uwb_time_count++;
    jibu_flag=1;
     jishu_flag=1;
@@ -495,53 +496,53 @@
{   
 UART0_CheckReceive();
 UART_CheckReceive();
//if(read_5v_input_pca())
//   {
//            chongman_time=0;
//              RED_LED_ON;
//                  GREEN_LED_OFF;
//                  UWB_LED_OFF;
//                  BT_LED_OFF;
//                  LORA_LED_OFF;
//            while(1)
//            {
//                nomove_count = 0;
if(read_5v_input_pca())
   {
            chongman_time=0;
              RED_LED_ON;
                  GREEN_LED_OFF;
                  UWB_LED_OFF;
                  BT_LED_OFF;
                  LORA_LED_OFF;
            while(1)
            {
                nomove_count = 0;
//                if(HIDO_TimerGetTick()-adctick>600)  //10分钟采样一次 电量
//                {
//                    chongman_time=chongman_time+60;
//                    adctick = HIDO_TimerGetTick();
//                    PCA9555_Set_One_Value_Output(PWR_GND,0);//拉低
//                    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
//                }
//                if(bat_percent>=99&&chongman_time>=180)
//                {
//                   GREEN_LED_ON;
//                            RED_LED_OFF;
//                }
//                        else
//                        {
//                   RED_LED_ON;
//                            GREEN_LED_OFF;
//                }
//                  UART_CheckReceive();
//                  if(input5v_time)
//              {
//               if(!read_5v_input_pca())
//                {
//                break;
//                }
//                     }
//            }
//                     sys_reset(0);
////            NVIC_SystemReset();
////            input5vflag=1;
//      }
//   else
//   {
//
////    sys_reset(0);
//   }
                if(HIDO_TimerGetTick()-adctick>600)  //10分钟采样一次 电量
                {
                    chongman_time=chongman_time+60;
                    adctick = HIDO_TimerGetTick();
                    PCA9555_Set_One_Value_Output(PWR_GND,0);//拉低
                    adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
                }
                if(bat_percent>=99&&chongman_time>=180)
                {
                   GREEN_LED_ON;
                            RED_LED_OFF;
                }
                        else
                        {
                   RED_LED_ON;
                            GREEN_LED_OFF;
                }
                  UART_CheckReceive();
                  if(input5v_time)
              {
               if(!read_5v_input_pca())
                {
                break;
                }
                     }
            }
                     sys_reset(0);
//            NVIC_SystemReset();
//            input5vflag=1;
      }
   else
   {
//    sys_reset(0);
   }
}
int bind_check(void)
@@ -641,25 +642,34 @@
    io_pin_mux_set(LORA_MOSI, IO_FUNC2);
    io_pin_mux_set(LORA_MISO, IO_FUNC2);
    io_pin_mux_set(LORA_CLK, IO_FUNC2);
     io_pin_mux_set(LORA_DIO, IO_FUNC0);
   io_pin_mux_set(LORA_DIO, IO_FUNC0);
   
   
     //ADC
     io_pin_mux_set(ADC_PIN, IO_FUNC1);
   io_pin_mux_set(ADC_PIN, IO_FUNC1);
      io_pull_set(ADC_PIN, IO_HIGH_Z, IO_PULL_UP_NONE);
   
    //串口0
      io_pin_mux_set(UART0_RX, IO_FUNC4);
   io_pin_mux_set(UART0_RX, IO_FUNC4);
    io_pin_mux_set(UART0_TX, IO_FUNC4);
    uart_open(UART_ID0, &test_uart_cfg);   
     uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);//开启dma
   uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);//开启dma
     //串口1
      io_pin_mux_set(UART1_RX, IO_FUNC4);
   io_pin_mux_set(UART1_RX, IO_FUNC4);
    io_pin_mux_set(UART1_TX, IO_FUNC4);
      
      board_debug_console_open(TRACE_PORT_UART1,BAUD_115200);
      uart_receive(UART_ID1,m_EUART_DMA_RXBuf_1,USART_RX_BUF_SIZE,uart1_receive_callback);//开启dma
    board_debug_console_open(TRACE_PORT_UART1,BAUD_115200);
    uart_receive(UART_ID1,m_EUART_DMA_RXBuf_1,USART_RX_BUF_SIZE,uart1_receive_callback);//开启dma
    //PA控制引脚开启
    io_pin_mux_set(IO_PIN_9, IO_FUNC6);
    io_pin_mux_set(IO_PIN_10, IO_FUNC6);
    io_pin_mux_set(IO_PIN_4, IO_FUNC0);
    gpio_pin_set_dir(IO_PIN_4 , GPIO_DIR_OUT, 1);
//    io_pull_set(IO_PIN_4, IO_HIGH_Z, IO_PULL_UP_NONE);
}
void spi_init()
{
@@ -762,7 +772,7 @@
//                             PCA9555_Set_One_Value_Output(IO_KONG,0);
//                           delay_us(10000);
//                           PCA9555_Set_One_Value_Output(IO_KONG,1);
                    PCA9555_Set_One_Value_Output(BT_IRQ,0);
                                  PCA9555_Set_One_Value_Output(BT_IRQ,0);
                           delay_us(10000);
                           PCA9555_Set_One_Value_Output(BT_IRQ,1);
                              CloseUWB();
@@ -790,7 +800,7 @@
//                             PCA9555_Set_One_Value_Output(IO_KONG,0);
//                           delay_us(10000);
//                           PCA9555_Set_One_Value_Output(IO_KONG,1);
                    PCA9555_Set_One_Value_Output(BT_IRQ,0);
                                  PCA9555_Set_One_Value_Output(BT_IRQ,0);
                           delay_us(10000);
                           PCA9555_Set_One_Value_Output(BT_IRQ,1);                     
                              CloseUWB();
@@ -854,7 +864,7 @@
int main(void)
{
    board_clock_run();
     boot_deinit();
   boot_deinit();
    
    // Reset reason
    reset_cause_get();
@@ -872,13 +882,13 @@
    Board_LORA_NVIC_Init(Lora_irq_handler);
      IIC2_Init();
    IIC2_Init();
    Accelerometer_Init();
      PCA9555_init();
      pca_input_detection_init(pca_handler);
      adc_open(&usr_adc_cfg);
      Lora_1268_Init();
    PCA9555_init();
    pca_input_detection_init(pca_handler);
    adc_open(&usr_adc_cfg);
    Lora_1268_Init();
    SwitchLoraSettings(478,7,22);
      Program_Init();
     power_init();
@@ -888,6 +898,7 @@
    Uwbinit();
    while (1)
    { 
         if(jibu_flag)
         {
            jibu_flag=0;