yincheng.zhong
2024-03-01 8b77c1ebab0a815b07d8a899b4783c923dc733e2
Src/main.c
@@ -43,7 +43,7 @@
#define NSH1 0x0001
#define GP   0x0002
#define FLASH_HARDWARE_VERSION_MAP      (uint32_t)0x08004F00    //硬件版本号和批次信息位置
#define DEBUG_MODE
//#define DEBUG_MODE
UART_WakeUpTypeDef Selection;
/* USER CODE END Includes */
@@ -465,7 +465,6 @@
    /* MCU Configuration--------------------------------------------------------*/
    /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
    HAL_Init();
    /* USER CODE BEGIN Init */
@@ -481,14 +480,13 @@
    /* Initialize all configured peripherals */
    MX_GPIO_Init();
    MX_USART1_UART_Init();
    MX_SPI1_Init();
    MX_ADC_Init();
//  MX_IWDG_Init();
 // MX_DMA_Init();
  MX_IWDG_Init();
    MX_TIM2_Init();
   // MX_LPUART1_UART_Init();
  MX_LPUART1_UART_Init();
    MX_LPTIM1_Init();
    /* USER CODE BEGIN 2 */
    LED2_TB_ON;
@@ -505,7 +503,7 @@
    Delay_Ms(10);
    usart_send[0]=0x55;
    usart_send[1]=0xaa;
    bat_percent=Get_VDDVlotage();
    HAL_UART_Receive_IT(&hlpuart1, (uint8_t *)GPSRxBuffer, 1);
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_SET); //开GPS电源
    LoraInit();
@@ -623,7 +621,7 @@
    hadc.Init.OversamplingMode = DISABLE;
    hadc.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2;
    hadc.Init.Resolution = ADC_RESOLUTION_12B;
    hadc.Init.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
  hadc.Init.SamplingTime = ADC_SAMPLETIME_160CYCLES_5;
    hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD;
    hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
    hadc.Init.ContinuousConvMode = DISABLE;
@@ -642,7 +640,7 @@
    }
    /** Configure for the selected ADC regular channel to be converted.
    */
    sConfig.Channel = ADC_CHANNEL_VREFINT;
  sConfig.Channel = ADC_CHANNEL_1;
    sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
    if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
    {
@@ -1063,6 +1061,16 @@
    LedTask();
    LoraReportPoll();
    flag_onesecond = 1;
       if(!GET_USERKEY)
   {
      key_keeptime+=1/(float)tag_frequency;
      if(key_keeptime>=KEY_KEEPRESET_TIME)
      {
         SCB->AIRCR = 0X05FA0000|(unsigned int)0x04;
      }
   }else{
      key_keeptime=0;
   }
    LED_TB_OFF;
    LED_TR_OFF;
    LED2_TB_OFF;