我正在尝试在 stm32f4 发现板上(使用 freertos)为 UART 实现简单的回显。据我了解,这应该很容易。首先我调用HAL_UART_Receive_IT(&huart3, &rx_char,1)
一个任务。并且在收到中断后USART3_IRQHandler
应该触发。然后在HAL_UART_RxCpltCallback
我会做HAL_UART_Transmit(&huart3, &rx_char, 1, timeout)
,也许重新启用它HAL_UART_Receive_IT
。我的想法正确吗?它应该工作吗?
但就我而言,它没有。我正在尝试从终端发送一个字符,但从USART3_IRQHandler
未被触发。什么都没发生。
该代码是使用带有 Freertos、USART3、NVIC 并启用了 USART3 全局中断的 Stm32CubeMX 生成的。
我也调用__HAL_UART_ENABLE_IT(&huart3, UART_IT_RXNE)
主函数。怎么了?HAL_UART_Transmit
完美运行。