[STM32F1] HAL_STIM_Transmit_IT阻塞,直到传输结束

[复制链接]
 楼主| 小库里 发表于 2025-6-24 23:17 | 显示全部楼层 |阅读模式
我使用STM32CubeIDE + STM32F103C8T6 MCU与USART1。我调用下边函数来传输数据:
HAL_StatusTypeDef HAL_UART_Transmit_IT(UART_HandleTypeDef * huart, uint8_t * pData, uint16_t Size)
函数由CubeIDE生成。这个函数会阻塞,直到最后一个字符被发送出去。触发阻塞的是这个函数中的以下行:
__HAL_UART_ENABLE_IT(huart, UART_IT_TXE);
HAL_TxCpltCallback在HAL_TxCpltTransmit_IT返回前几微秒被调用。
不知知道为什么会这样?我希望HAL_EXTRANTE_TRANTE_IT立即返回。

tpgf 发表于 2025-6-25 10:25 | 显示全部楼层
某些STM32系列的SPI/I2S外设在配置为从模式时,确实需要等待主设备时钟
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部