WXK
2024-05-31 6d0ef72024f3f677a9ba7457bbd303ea2fccfd7a
Src/main.c
@@ -86,6 +86,7 @@
DMA_HandleTypeDef hdma_usart1_tx;
SPI_HandleTypeDef hspi1;
SPI_HandleTypeDef hspi2;
TIM_HandleTypeDef htim6;
@@ -105,6 +106,7 @@
static void MX_LPUART1_UART_Init(void);
static void MX_USART5_UART_Init(void);
static void MX_TIM6_Init(void);
static void MX_SPI2_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -447,7 +449,7 @@
    {
      //  SystemClock_Config();
     //   irq_num++;
     irq_num++;
        lora_irq_flag = 1;
    //    RadioIrqProcess();
    }
@@ -595,6 +597,7 @@
          HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET); //GuanGPS and lora 电源
          HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET); //guan uwb 电源
          HAL_SPI_DeInit(&hspi1);
          HAL_SPI_DeInit(&hspi2);
          HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET);//lora  cs
          HAL_GPIO_WritePin( GPIOA, GPIO_PIN_4,GPIO_PIN_RESET);//uwb cs
          HAL_GPIO_WritePin( GPIOC, GPIO_PIN_3,GPIO_PIN_RESET);//LORA REST
@@ -687,19 +690,27 @@
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_ADC_Init();
 // MX_IWDG_Init();
//  MX_IWDG_Init();
  MX_LPTIM1_Init();
  MX_USART1_UART_Init();
  MX_SPI1_Init();
  MX_LPUART1_UART_Init();
  MX_USART5_UART_Init();
  MX_TIM6_Init();
  MX_SPI2_Init();
  /* USER CODE BEGIN 2 */
  GPIO_InitTypeDef GPIO_InitStruct = {0};
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET); //开GPS电源
    delay_ms(10);
    delay_ms(100);
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET); //开uwb电源
    Program_Init();
    MX_IWDG_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。
//    MX_IWDG_Init(); //看门狗务必放到开GPS电源开uwb电源后面,否则GPS工作不正常。
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_SET);
  GPIO_InitStruct.Pin = GPIO_PIN_1;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
#ifdef _USE_BAR
//BarInit();
#endif 
@@ -1125,6 +1136,44 @@
}
/**
  * @brief SPI2 Initialization Function
  * @param None
  * @retval None
  */
static void MX_SPI2_Init(void)
{
  /* USER CODE BEGIN SPI2_Init 0 */
  /* USER CODE END SPI2_Init 0 */
  /* USER CODE BEGIN SPI2_Init 1 */
  /* USER CODE END SPI2_Init 1 */
  /* SPI2 parameter configuration*/
  hspi2.Instance = SPI2;
  hspi2.Init.Mode = SPI_MODE_MASTER;
  hspi2.Init.Direction = SPI_DIRECTION_2LINES;
  hspi2.Init.DataSize = SPI_DATASIZE_8BIT;
  hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
  hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
  hspi2.Init.NSS = SPI_NSS_SOFT;
  hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
  hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
  hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
  hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
  hspi2.Init.CRCPolynomial = 7;
  if (HAL_SPI_Init(&hspi2) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN SPI2_Init 2 */
__HAL_SPI_ENABLE(&hspi2);
  /* USER CODE END SPI2_Init 2 */
}
/**
  * @brief TIM6 Initialization Function
  * @param None
  * @retval None
@@ -1201,25 +1250,23 @@
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13|GPIO_PIN_7|GPIO_PIN_8, GPIO_PIN_RESET);
  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOC, RADIO_NSS_Pin|RADIO_nRESET_Pin|GPIO_PIN_4, GPIO_PIN_SET);
  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4|GPIO_PIN_8, GPIO_PIN_SET);
  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5
                          |GPIO_PIN_7, GPIO_PIN_RESET);
  HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4, GPIO_PIN_SET);
  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_10|SCL_Pin|SDA_Pin|GPIO_PIN_6, GPIO_PIN_SET);
  HAL_GPIO_WritePin(GPIOB, RADIO_NSS_Pin|RADIO_nRESET_Pin|SCL_Pin|SDA_Pin
                          |GPIO_PIN_6, GPIO_PIN_SET);
  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_7, GPIO_PIN_RESET);
  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12|GPIO_PIN_15, GPIO_PIN_RESET);
  /*Configure GPIO pins : PC13 RADIO_NSS_Pin RADIO_nRESET_Pin PC4
                           PC7 PC8 */
  GPIO_InitStruct.Pin = GPIO_PIN_13|RADIO_NSS_Pin|RADIO_nRESET_Pin|GPIO_PIN_4
                          |GPIO_PIN_7|GPIO_PIN_8;
  /*Configure GPIO pins : PC13 PC4 PC7 PC8 */
  GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_4|GPIO_PIN_7|GPIO_PIN_8;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
@@ -1238,9 +1285,9 @@
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  /*Configure GPIO pins : PB0 PB2 PB10 PB4
  /*Configure GPIO pins : RADIO_NSS_Pin PB2 RADIO_nRESET_Pin PB4
                           PB5 PB6 PB7 */
  GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_10|GPIO_PIN_4
  GPIO_InitStruct.Pin = RADIO_NSS_Pin|GPIO_PIN_2|RADIO_nRESET_Pin|GPIO_PIN_4
                          |GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;