HAL_UART_Transmit内部先等待TXE置位,再写DR。在外部中断中调用时,若中断优先级高于UART中断或系统未及时响应,可能出现:1)TXE已置位但前一次发送的TC尚未置位,此时写DR会覆盖尚未移出的数据,导致首字节丢失;2)中断嵌套使HAL_UART_Transmit被重入,破坏发送状态。建议:不要在ISR中直接调用阻塞式HAL_UART_Transmit;改用环形缓冲区+UART发送中断(或DMA),在ISR中仅将数据入队并启动发送;若必须调用,确保UART中断优先级低于外部中断,并检查TC标志后再写DR,或使用HAL_UART_Transmit_IT。