STM32L051C8T6 LPUART + DMA + IDLE不定长接收遇到的问题只能printf一次

`
靠,中断函数忘加了。

``
/* USER CODE BEGIN Header /
/
*


  • @file stm32l0xx_it.c
  • @brief Interrupt Service Routines.

  • @attention
  • © Copyright (c) 2021 STMicroelectronics.

  • All rights reserved.
  • This software component is licensed by ST under BSD 3-Clause license,
  • the "License"; You may not use this file except in compliance with the
  • License. You may obtain a copy of the License at:
  •                    opensource.org/licenses/BSD-3-Clause
    

/
/
USER CODE END Header */

/* Includes ------------------------------------------------------------------*/

include "main.h"

include "stm32l0xx_it.h"

/* Private includes ----------------------------------------------------------/
/
USER CODE BEGIN Includes */

include "usart.h"

/* USER CODE END Includes */

/* Private typedef -----------------------------------------------------------/
/
USER CODE BEGIN TD */

/* USER CODE END TD */

/* Private define ------------------------------------------------------------/
/
USER CODE BEGIN PD */

/* USER CODE END PD */

/* Private macro -------------------------------------------------------------/
/
USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables ---------------------------------------------------------/
/
USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------/
/
USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------/
/
USER CODE BEGIN 0 */

/* USER CODE END 0 */

/* External variables --------------------------------------------------------/
extern DMA_HandleTypeDef hdma_lpuart1_rx;
extern DMA_HandleTypeDef hdma_lpuart1_tx;
extern DMA_HandleTypeDef hdma_usart1_rx;
extern DMA_HandleTypeDef hdma_usart1_tx;
extern DMA_HandleTypeDef hdma_usart2_rx;
extern DMA_HandleTypeDef hdma_usart2_tx;
extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2;
extern UART_HandleTypeDef hlpuart1;
/
USER CODE BEGIN EV */

/* USER CODE END EV */

//
/
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 END NonMaskableInt_IRQn 0 /
/
USER CODE BEGIN NonMaskableInt_IRQn 1 */

/* USER CODE END NonMaskableInt_IRQn 1 */
}

/**

  • @brief This function handles Hard fault interrupt.
    /
    void HardFault_Handler(void)
    {
    /
    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 */
}
}

/**

  • @brief This function handles System service call via SWI instruction.
    /
    void SVC_Handler(void)
    {
    /
    USER CODE BEGIN SVC_IRQn 0 */

/* USER CODE END SVC_IRQn 0 /
/
USER CODE BEGIN SVC_IRQn 1 */

/* USER CODE END SVC_IRQn 1 */
}

/**

  • @brief This function handles Pendable request for system service.
    /
    void PendSV_Handler(void)
    {
    /
    USER CODE BEGIN PendSV_IRQn 0 */

/* USER CODE END PendSV_IRQn 0 /
/
USER CODE BEGIN PendSV_IRQn 1 */

/* USER CODE END PendSV_IRQn 1 */
}

/**

  • @brief This function handles System tick timer.
    /
    void SysTick_Handler(void)
    {
    /
    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 1 */
}

//
/
STM32L0xx Peripheral Interrupt Handlers /
/
Add here the Interrupt Handlers for the used peripherals. /
/
For the available peripheral interrupt handler names, /
/
please refer to the startup file (startup_stm32l0xx.s). /
/
/

/**

  • @brief This function handles DMA1 channel 2 and channel 3 interrupts.
    /
    void DMA1_Channel2_3_IRQHandler(void)
    {
    /
    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 1 */
}

/**

  • @brief This function handles DMA1 channel 4, channel 5, channel 6 and channel 7 interrupts.
    /
    void DMA1_Channel4_5_6_7_IRQHandler(void)
    {
    /
    USER CODE BEGIN DMA1_Channel4_5_6_7_IRQn 0 */

/* USER CODE END DMA1_Channel4_5_6_7_IRQn 0 */
HAL_DMA_IRQHandler(&hdma_usart2_tx);
HAL_DMA_IRQHandler(&hdma_usart2_rx);

HAL_DMA_IRQHandler(&hdma_lpuart1_tx);
HAL_DMA_IRQHandler(&hdma_lpuart1_rx);

/* USER CODE BEGIN DMA1_Channel4_5_6_7_IRQn 1 */

/* USER CODE END DMA1_Channel4_5_6_7_IRQn 1 */
}

/**

  • @brief This function handles USART1 global interrupt / USART1 wake-up interrupt through EXTI line 25.
    /
    void USART1_IRQHandler(void)
    {
    /
    USER CODE BEGIN USART1_IRQn 0 /
    UsartReceive_IDLE(&huart1);
    /
    USER CODE END USART1_IRQn 0 /
    HAL_UART_IRQHandler(&huart1);
    /
    USER CODE BEGIN USART1_IRQn 1 */

/* USER CODE END USART1_IRQn 1 */
}

/**

  • @brief This function handles USART2 global interrupt / USART2 wake-up interrupt through EXTI line 26.
    /
    void USART2_IRQHandler(void)
    {
    /
    USER CODE BEGIN USART2_IRQn 0 /
    UsartReceive_IDLE(&huart2);
    /
    USER CODE END USART2_IRQn 0 /
    HAL_UART_IRQHandler(&huart2);
    /
    USER CODE BEGIN USART2_IRQn 1 */

/* USER CODE END USART2_IRQn 1 */
}

void LPUART1_IRQHandler(void)
{
/* USER CODE BEGIN LPUART1_IRQn 0 /
UsartReceive_IDLE(&hlpuart1);
/
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 */

/* USER CODE END 1 /
/
*********************** (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

posted @ 2021-07-14 17:49  zhaocundang  阅读(385)  评论(0编辑  收藏  举报