| | |
| | | /* Private variables ---------------------------------------------------------*/ |
| | | ADC_HandleTypeDef hadc; |
| | | |
| | | IWDG_HandleTypeDef hiwdg; |
| | | |
| | | LPTIM_HandleTypeDef hlptim1; |
| | | |
| | | UART_HandleTypeDef hlpuart1; |
| | |
| | | static void MX_SPI1_Init(void); |
| | | static void MX_TIM21_Init(void); |
| | | static void MX_LPTIM1_Init(void); |
| | | static void MX_IWDG_Init(void); |
| | | /* USER CODE BEGIN PFP */ |
| | | #define UWB_WORK_TIME_S 10 |
| | | //#define JIASUDU_INSLEEP_TIME 3600 |
| | |
| | | bigslot_num = TOTAL_SLOTNUM/tag_frequency; |
| | | current_slotnum=1; |
| | | // current_time=GetLPTime(); |
| | | nomovesleep_time = g_com_map[NOMOVESLEEP_TIME]; |
| | | // nomovesleep_time = g_com_map[NOMOVESLEEP_TIME]; |
| | | interval = g_com_map[COM_INTERVAL]; |
| | | if(active_flag==0) |
| | | { |
| | | interval=1000; |
| | | imu_enable=1; |
| | | nomovesleep_time = 10; |
| | | // nomovesleep_time = 10; |
| | | motor_enable=0; |
| | | } |
| | | tag_frequency = 1000/interval; |
| | |
| | | MX_SPI1_Init(); |
| | | MX_TIM21_Init(); |
| | | MX_LPTIM1_Init(); |
| | | MX_IWDG_Init(); |
| | | /* USER CODE BEGIN 2 */ |
| | | Program_Init(); |
| | | Dw1000_Init(); |
| | |
| | | Set4LEDColor_Off(); //关一下led总电源 |
| | | Power_GPS_LoraOff();//关一下GPS总电源 |
| | | // Lora_Sleep(); |
| | | // Set4LEDColor(RED,RED,RED,RED); |
| | | // HAL_Delay(500); |
| | | // Set4LEDColor(GREEN,GREEN,GREEN,GREEN); |
| | | // HAL_Delay(500); |
| | | |
| | | Set4LEDColor(RED,RED,RED,RED); |
| | | HAL_Delay(500); |
| | | Set4LEDColor(GREEN,GREEN,GREEN,GREEN); |
| | | HAL_Delay(500); |
| | | MX_IWDG_Init(); |
| | | // NVIC_SystemReset(); |
| | | /* USER CODE END 2 */ |
| | | |
| | |
| | | /* USER CODE BEGIN WHILE */ |
| | | while (1) |
| | | { |
| | | |
| | | HAL_IWDG_Refresh(&hiwdg); |
| | | APL_Poll();//lora接收,gps接收时间判断,单片机休眠函数,蜂鸣器判断函数。 |
| | | Uwb_Poll(); |
| | | Battery_Poll();//检测电量函数,每60s测一次电量。 |
| | |
| | | /** Initializes the RCC Oscillators according to the specified parameters |
| | | * in the RCC_OscInitTypeDef structure. |
| | | */ |
| | | RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSE; |
| | | RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI |
| | | |RCC_OSCILLATORTYPE_LSE; |
| | | RCC_OscInitStruct.LSEState = RCC_LSE_ON; |
| | | RCC_OscInitStruct.HSIState = RCC_HSI_ON; |
| | | RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; |
| | | RCC_OscInitStruct.LSIState = RCC_LSI_ON; |
| | | RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; |
| | | RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; |
| | | RCC_OscInitStruct.PLL.PLLMUL = RCC_PLLMUL_4; |
| | |
| | | /* USER CODE BEGIN ADC_Init 2 */ |
| | | |
| | | /* USER CODE END ADC_Init 2 */ |
| | | |
| | | } |
| | | |
| | | /** |
| | | * @brief IWDG Initialization Function |
| | | * @param None |
| | | * @retval None |
| | | */ |
| | | static void MX_IWDG_Init(void) |
| | | { |
| | | |
| | | /* USER CODE BEGIN IWDG_Init 0 */ |
| | | |
| | | /* USER CODE END IWDG_Init 0 */ |
| | | |
| | | /* USER CODE BEGIN IWDG_Init 1 */ |
| | | |
| | | /* USER CODE END IWDG_Init 1 */ |
| | | hiwdg.Instance = IWDG; |
| | | hiwdg.Init.Prescaler = IWDG_PRESCALER_256; |
| | | hiwdg.Init.Window = 4095; |
| | | hiwdg.Init.Reload = 4095; |
| | | if (HAL_IWDG_Init(&hiwdg) != HAL_OK) |
| | | { |
| | | Error_Handler(); |
| | | } |
| | | /* USER CODE BEGIN IWDG_Init 2 */ |
| | | HAL_IWDG_Refresh(&hiwdg); |
| | | /* USER CODE END IWDG_Init 2 */ |
| | | |
| | | } |
| | | |
| | |
| | | GPIO_InitStruct.Pull = GPIO_NOPULL; |
| | | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
| | | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
| | | |
| | | |
| | | /**/ |
| | | HAL_I2CEx_EnableFastModePlus(I2C_FASTMODEPLUS_PB6); |
| | | |