1
WXK
2023-12-18 37e61b5bf9aba18b6d0a5a4892494f0016c6e9c6
Core/Src/main.c
@@ -100,6 +100,7 @@
{
DebugPoll();
}
uint32_t ceshi1=0;
uint32_t uwb_timer=0;
uint32_t battery_timer=0;
uint32_t led_timer=0;
@@ -126,7 +127,7 @@
   hardware_pici= STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+2);
   hardware_type= STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+4);
   //deca_sleep(1000);
   g_com_map[VERSION] = (1<<8)|2;
   g_com_map[VERSION] = (1<<8)|0;
    if(g_com_map[GPS_ONTIME]==0)
    {
    g_com_map[GPS_ONTIME]=3600;
@@ -278,6 +279,17 @@
     NVIC_SystemReset();
    }
}
extern uint8_t jiasudu;
extern enum enumtagstate
{
    DISCPOLL,
    REGPOLL,
    GETNEARMSG,
    NEARPOLL,
    SINGLEPOLL,
} tag_state;
extern int32_t temp_dist;
/* USER CODE END 0 */
/**
@@ -334,23 +346,68 @@
  HAL_Delay(500);
  Set4LEDColor(GREEN,GREEN,GREEN,GREEN);
  HAL_Delay(500);
//  MX_IWDG_Init();
//  NVIC_SystemReset();
    Set4LEDColor_Off();  //关一下led总电源
    if(g_com_map[NEARBASE_ID10]==0)
    {
    usart_send[0]=0x55;
   usart_send[1]=0xAA;
    dwt_configcontinuousframemode(12480);
    dwt_writetxdata(13, usart_send, 0);//将Poll包数据传给DW1000,将在开启发送时传出去
   dwt_writetxfctrl(13, 0);//设置超宽带发送数据长度
   dwt_starttx(DWT_START_TX_IMMEDIATE);//开启发送,发送完成后等待一段时间开启接收,等待时间在dwt_setrxaftertxdelay中设置
    }
    else
    {
    Power_GPS_LoraOn();
    }
  /* USER CODE END 2 */
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
      if(g_com_map[NEARBASE_ID10]==0)
      {
      IdleTask();
      }
      else
      {
      ceshi();
    if(lp_time-uwb_timer>=UWB_WORK_TIME_S) //是否到uwb工作时间了。
    {
    uwbled=BLUE;
    Set4LEDColor(powerled,loraled,gpsled,uwbled);
    Tag_App();
//    Lora_Sendfinalbag_Poll()
    uwb_timer=lp_time;
    uwb_work_num++;
    uwbled=LEDOFF;
    Set4LEDColor(powerled,loraled,gpsled,uwbled);
    }
    if(lp_time-ceshi1>=1) //发送各相是否成功。
    {
    ceshi1=lp_time;
        if(jiasudu==1)
       HIDO_Debug("加速度计没问题\r\n");
        else
      {HIDO_Debug("加速度计错误错误错误!!!!!\r\n");}
       if( temp_dist>0&&temp_dist<1000)
    HIDO_Debug("UWB没问题\r\n");
       else
       { HIDO_Debug("UWB错误错误错误!!!!!\r\n");}
    }
      }
//    HAL_IWDG_Refresh(&hiwdg);
    APL_Poll();//lora接收,gps接收时间判断,单片机休眠函数,蜂鸣器判断函数。
    #ifndef UWB_OFF_FANGCHAI_ON
    Uwb_Poll();
    #else
    {GPS_ON_flag=1;}
    #endif
    Battery_Poll();//检测电量函数,每60s测一次电量。
    Time_to_restart_Poll();//防止出现意外情况,或则不考虑翻转问提,20000000s重启一次设备。
//    APL_Poll();//lora接收,gps接收时间判断,单片机休眠函数,蜂鸣器判断函数。
//    #ifndef UWB_OFF_FANGCHAI_ON
//    Uwb_Poll();
//    #else
//    {GPS_ON_flag=1;}
//    #endif
//    Battery_Poll();//检测电量函数,每60s测一次电量。
//    Time_to_restart_Poll();//防止出现意外情况,或则不考虑翻转问提,20000000s重启一次设备。
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */