WXK
2024-03-13 338a14691261850ff3821ea7f513c2999969e6e7
Src/main.c
@@ -42,7 +42,7 @@
#define NSH1 0x0001
#define GP   0x0002
#define FLASH_HARDWARE_VERSION_MAP      (uint32_t)0x08004F00    //硬件版本号和批次信息位置
#define DEBUG_MODE
//#define DEBUG_MODE
uint8_t chongqi_flag;
uint32_t uwbled,gpsled,loraled,powerled;
UART_WakeUpTypeDef Selection;
@@ -290,7 +290,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)|0;
   g_com_map[VERSION] = (1<<8)|1;
//    g_com_map[DEV_ID]=1158;
//    #ifdef DEBUG_MODE
//   // g_com_map[GROUP_ID]=21;
@@ -416,11 +416,6 @@
    if(GPIO_Pin == RADIO_DIO1_Pin)
    {
        SystemClock_Config();
//        HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET);
//        HAL_GPIO_WritePin(RADIO_NSS_GPIO_Port, RADIO_NSS_Pin, GPIO_PIN_RESET); //片选lora有效
//        l_bIsVibration = HIDO_TRUE;
//        nomove_time=0;
//        printf("RXD :77777\r\n");
        irq_num++;
        RadioIrqProcess();
    }
@@ -600,12 +595,21 @@
        flag_onesecond = 0;
    }
}
uint8_t GPS_Close_time;
uint8_t GPS_Close_flag=1;
uint8_t debugnum;
uint8_t Lora_send_flag;
void Lora_Send_Poll(void)
{
        if(Lora_send_flag)
        {
         GPS_Close_time++;
        if(GPS_Close_time>5&&GPS_Close_flag)
        {
        GPS_Close_flag=0;
        GPS_Close_Init();
HAL_UART_Receive_IT(&hlpuart1, (uint8_t *)GPSRxBuffer, 1);
        }
            debugnum++;
        Lora_send_flag=0;    
//        LedTask();
@@ -614,10 +618,11 @@
        flag_onesecond = 1;
        
          powerled=LEDOFF;
          loraled=LEDOFF;
//          loraled=LEDOFF;
          gpsled=LEDOFF;
          uwbled=LEDOFF;
Set4LEDColor_Off();
//Set4LEDColor_Off();
        }
}
@@ -660,26 +665,22 @@
  MX_SPI1_Init();
  MX_USART5_UART_Init();
  /* USER CODE BEGIN 2 */
//    LED_LG_ON;
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET); //开GPS电源
    delay_ms(10);
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); //开uwb电源
//delay_ms(1000);
    Program_Init();
    LIS3DH_Data_Init();
#ifdef _USE_BAR
BarInit();
#endif
    Dw1000_Init();
    //   HardWareTypeDiffConfig();
    dwt_configuresleep(DWT_PRESRV_SLEEP | DWT_CONFIG, DWT_WAKE_CS | DWT_WAKE_WK| DWT_SLP_EN);
    dwt_entersleep();
     if(HAL_UART_Receive_DMA(&huart1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE))
    {
     Error_Handler();
    }
    delay_ms(1000);
    GPS_Close_Init();
    HAL_UART_Receive_IT(&hlpuart1, (uint8_t *)GPSRxBuffer, 1);
    LIS3DH_Data_Init();
//    HAL_UART_Receive_IT(&hlpuart1, (uint8_t *)GPSRxBuffer, 1);
    Set4LEDColor(RED,RED,RED,RED);
    HAL_Delay(500);
    Set4LEDColor(GREEN,GREEN,GREEN,GREEN);
@@ -688,15 +689,10 @@
    HAL_Delay(500);
    LoraInit();
    
#ifdef _USE_BAR
BarInit();
#endif
    if (HAL_LPTIM_TimeOut_Start_IT(&hlptim1, LPTIMER_1S_COUNT, 0) != HAL_OK)  //system time is 1010ms   1 puls=30.518us
  {
    Error_Handler();
  }
//    Lora47X_Init();
//    Radio.Sleep();
  /* USER CODE END 2 */
  /* Infinite loop */
@@ -717,6 +713,7 @@
      IdleTask();   
      PowerDownDetect();
      Lora_Send_Poll();
      TTSchaxun_Busy();
    #ifndef DEBUG_MODE   
    if(!HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin))   
  {      
@@ -732,7 +729,7 @@
    HAL_UARTEx_EnableStopMode( &hlpuart1 );
    HAL_UARTEx_StopModeWakeUpSourceConfig( &hlpuart1, Selection );
    __HAL_UART_ENABLE_IT(&hlpuart1, UART_IT_WUF);   
//    Set4LEDColor_Off();
    Set4LEDColor_Off();
    HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);  
          }
  }
@@ -1177,7 +1174,7 @@
  /*Configure GPIO pins : SCL_Pin SDA_Pin */
  GPIO_InitStruct.Pin = SCL_Pin|SDA_Pin;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
@@ -1211,7 +1208,7 @@
  HAL_NVIC_SetPriority(EXTI0_1_IRQn, 2, 0);
  HAL_NVIC_EnableIRQ(EXTI0_1_IRQn);
  HAL_NVIC_SetPriority(EXTI4_15_IRQn, 2, 0);
  HAL_NVIC_SetPriority(EXTI4_15_IRQn, 0, 0);
  HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);
}