From e709bfae051d9888674f64e3d262ce7b7969db46 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期五, 01 三月 2024 16:44:33 +0800 Subject: [PATCH] 增加气压计驱动 --- Src/stm32l0xx_it.c | 155 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 93 insertions(+), 62 deletions(-) diff --git a/Src/stm32l0xx_it.c b/Src/stm32l0xx_it.c index 5f240d8..cdf3a78 100644 --- a/Src/stm32l0xx_it.c +++ b/Src/stm32l0xx_it.c @@ -32,7 +32,7 @@ /* Private define ------------------------------------------------------------*/ /* USER CODE BEGIN PD */ - + /* USER CODE END PD */ /* Private macro -------------------------------------------------------------*/ @@ -59,25 +59,26 @@ extern LPTIM_HandleTypeDef hlptim1; extern DMA_HandleTypeDef hdma_usart1_rx; extern DMA_HandleTypeDef hdma_usart1_tx; +extern UART_HandleTypeDef hlpuart1; extern UART_HandleTypeDef huart1; /* USER CODE BEGIN EV */ /* USER CODE END EV */ /******************************************************************************/ -/* Cortex-M0+ Processor Interruption and Exception Handlers */ +/* Cortex-M0+ Processor Interruption and Exception Handlers */ /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { - /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ + /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ - /* USER CODE END NonMaskableInt_IRQn 0 */ - /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ + /* USER CODE END NonMaskableInt_IRQn 0 */ + /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ - /* USER CODE END NonMaskableInt_IRQn 1 */ + /* USER CODE END NonMaskableInt_IRQn 1 */ } /** @@ -85,14 +86,15 @@ */ void HardFault_Handler(void) { - /* USER CODE BEGIN HardFault_IRQn 0 */ + /* USER CODE BEGIN HardFault_IRQn 0 */ - /* USER CODE END HardFault_IRQn 0 */ - while (1) - { - /* USER CODE BEGIN W1_HardFault_IRQn 0 */ - /* USER CODE END W1_HardFault_IRQn 0 */ - } + /* USER CODE END HardFault_IRQn 0 */ + while (1) + { + /* USER CODE BEGIN W1_HardFault_IRQn 0 */ + SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader + /* USER CODE END W1_HardFault_IRQn 0 */ + } } /** @@ -100,12 +102,12 @@ */ void SVC_Handler(void) { - /* USER CODE BEGIN SVC_IRQn 0 */ + /* USER CODE BEGIN SVC_IRQn 0 */ - /* USER CODE END SVC_IRQn 0 */ - /* USER CODE BEGIN SVC_IRQn 1 */ + /* USER CODE END SVC_IRQn 0 */ + /* USER CODE BEGIN SVC_IRQn 1 */ - /* USER CODE END SVC_IRQn 1 */ + /* USER CODE END SVC_IRQn 1 */ } /** @@ -113,12 +115,12 @@ */ void PendSV_Handler(void) { - /* USER CODE BEGIN PendSV_IRQn 0 */ + /* USER CODE BEGIN PendSV_IRQn 0 */ - /* USER CODE END PendSV_IRQn 0 */ - /* USER CODE BEGIN PendSV_IRQn 1 */ + /* USER CODE END PendSV_IRQn 0 */ + /* USER CODE BEGIN PendSV_IRQn 1 */ - /* USER CODE END PendSV_IRQn 1 */ + /* USER CODE END PendSV_IRQn 1 */ } /** @@ -126,13 +128,13 @@ */ void SysTick_Handler(void) { - /* USER CODE BEGIN SysTick_IRQn 0 */ + /* USER CODE BEGIN SysTick_IRQn 0 */ - /* USER CODE END SysTick_IRQn 0 */ - HAL_IncTick(); - /* USER CODE BEGIN SysTick_IRQn 1 */ + /* USER CODE END SysTick_IRQn 0 */ + HAL_IncTick(); + /* USER CODE BEGIN SysTick_IRQn 1 */ - /* USER CODE END SysTick_IRQn 1 */ + /* USER CODE END SysTick_IRQn 1 */ } /******************************************************************************/ @@ -147,24 +149,40 @@ */ void EXTI0_1_IRQHandler(void) { - /* USER CODE BEGIN EXTI0_1_IRQn 0 */ - if(GET_IMUINT) - { - nomove_count = 0; - } - - if(!GET_USERKEY) - { - waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME; - // MOTOR_ON; - } - - /* USER CODE END EXTI0_1_IRQn 0 */ - HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); - HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1); - /* USER CODE BEGIN EXTI0_1_IRQn 1 */ - //DW_DISABLE; - /* USER CODE END EXTI0_1_IRQn 1 */ + /* USER CODE BEGIN EXTI0_1_IRQn 0 */ + if(GET_IMUINT) + { + nomove_count = 0; + } + + if(!GET_USERKEY) + { + nomove_count = 0; + waitusart_timer = tag_frequency*USART_KEEPWAKE_TIME; + UsartInit(); + // MOTOR_ON; + } + + /* USER CODE END EXTI0_1_IRQn 0 */ + HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); + HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_1); + /* USER CODE BEGIN EXTI0_1_IRQn 1 */ + //DW_DISABLE; + /* USER CODE END EXTI0_1_IRQn 1 */ +} + +/** + * @brief This function handles EXTI line 2 and line 3 interrupts. + */ +void EXTI2_3_IRQHandler(void) +{ + /* USER CODE BEGIN EXTI2_3_IRQn 0 */ + + /* USER CODE END EXTI2_3_IRQn 0 */ + HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); + /* USER CODE BEGIN EXTI2_3_IRQn 1 */ + + /* USER CODE END EXTI2_3_IRQn 1 */ } /** @@ -172,14 +190,14 @@ */ void DMA1_Channel2_3_IRQHandler(void) { - /* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 */ + /* USER CODE BEGIN DMA1_Channel2_3_IRQn 0 */ - /* USER CODE END DMA1_Channel2_3_IRQn 0 */ - HAL_DMA_IRQHandler(&hdma_usart1_tx); - HAL_DMA_IRQHandler(&hdma_usart1_rx); - /* USER CODE BEGIN DMA1_Channel2_3_IRQn 1 */ + /* USER CODE END DMA1_Channel2_3_IRQn 0 */ + HAL_DMA_IRQHandler(&hdma_usart1_tx); + HAL_DMA_IRQHandler(&hdma_usart1_rx); + /* USER CODE BEGIN DMA1_Channel2_3_IRQn 1 */ - /* USER CODE END DMA1_Channel2_3_IRQn 1 */ + /* USER CODE END DMA1_Channel2_3_IRQn 1 */ } /** @@ -187,14 +205,13 @@ */ void LPTIM1_IRQHandler(void) { - /* USER CODE BEGIN LPTIM1_IRQn 0 */ + /* USER CODE BEGIN LPTIM1_IRQn 0 */ - - /* USER CODE END LPTIM1_IRQn 0 */ - HAL_LPTIM_IRQHandler(&hlptim1); - /* USER CODE BEGIN LPTIM1_IRQn 1 */ + /* USER CODE END LPTIM1_IRQn 0 */ + HAL_LPTIM_IRQHandler(&hlptim1); + /* USER CODE BEGIN LPTIM1_IRQn 1 */ - /* USER CODE END LPTIM1_IRQn 1 */ + /* USER CODE END LPTIM1_IRQn 1 */ } /** @@ -202,13 +219,27 @@ */ void USART1_IRQHandler(void) { - /* USER CODE BEGIN USART1_IRQn 0 */ - __HAL_UART_CLEAR_IDLEFLAG(&huart1); - /* USER CODE END USART1_IRQn 0 */ - HAL_UART_IRQHandler(&huart1); - /* USER CODE BEGIN USART1_IRQn 1 */ + /* USER CODE BEGIN USART1_IRQn 0 */ + __HAL_UART_CLEAR_IDLEFLAG(&huart1); + /* USER CODE END USART1_IRQn 0 */ + HAL_UART_IRQHandler(&huart1); + /* USER CODE BEGIN USART1_IRQn 1 */ - /* USER CODE END USART1_IRQn 1 */ + /* USER CODE END USART1_IRQn 1 */ +} + +/** + * @brief This function handles LPUART1 global interrupt / LPUART1 wake-up interrupt through EXTI line 28. + */ +void LPUART1_IRQHandler(void) +{ + /* USER CODE BEGIN LPUART1_IRQn 0 */ + + /* USER CODE END LPUART1_IRQn 0 */ + HAL_UART_IRQHandler(&hlpuart1); + /* USER CODE BEGIN LPUART1_IRQn 1 */ + + /* USER CODE END LPUART1_IRQn 1 */ } /* USER CODE BEGIN 1 */ -- Gitblit v1.9.3