初中生
最后登录1970-1-1
在线时间 小时
注册时间2018-11-6
|
这是我写的一个中断函数,讲道理我在串口助手发送12345,显示的应该是a1a2a3a4a5啊,但结果就是12345,a甚至不出现,多发送几次,a会偶尔出现几次。我个人理解是USART_SendData这函数没有判断TXE是否为0,数据还没发出就被后面的数据覆盖了。
大佬们能不能帮小弟解释下,谢谢。
[mw_shl_code=c,true]void CSTM_USART_IRQHandler(void)
{
uint8_t recv;
if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
USART_SendData(USART1, 'a');
recv = USART_ReceiveData(USART1);
USART_SendData(USART1, recv);
}
}[/mw_shl_code]
|
|