STM32 – UART Interrupt 멈추는 현상 해결

목록으로 돌아가기

시리얼 루프백을 테스트 하다 보면, 인터럽트가 걸리다가 갑자기 동작안하는 경우가 있었는데 아래 글이 엄청 도움이 되었다.

고수의 숨결이 느껴짐

stm32 uart interrupt 멈추는 현상( RXNEIE disable, overrun)

https://kjt9109.tistory.com/entry/stm32-uart-interrupt-%EB%A9%88%EC%B6%94%EB%8A%94-%ED%98%84%EC%83%81-RXNEIE-disable-overrun

결론적으로는 TX 할때 인터럽트를 막아주고 해야 한다는 얘기였음

꼭 코드에 적용하시길

    /* USER CODE BEGIN 3 */
	  HAL_NVIC_DisableIRQ(USART1_IRQn); //Rx Callback 함수 Disable
	  HAL_UART_Transmit(&huart1, &rx_data, rx_data, 100);
	  HAL_NVIC_EnableIRQ(USART1_IRQn);  //Rx callback 함수 enable
![](assets/images/2023/02/by-tzimt0ms.jpg?resize=1024%2C768&ssl=1)
author-profile
Written by bj