代码如下:
while(1)
{
while(!USART_GetFlagStatus(USART1,USART_FLAG_RXNE)); //接收
i = USART_ReceiveData(USART1);
USART_SendData(USART1,i); //发送
while (!USART_GetFlagStatus(USART1,USART_FLAG_TXE));
}
使用串口调试助手,发“abcde”,一般只能收到“e”,有点错乱,不知道问题出在哪里?大家帮看下!
还有在调试时,我发现写USART->DR,TXE标志没有清零,是怎么回事?
此帖出自
小平头技术问答
查询法不可以吗?
如果把发送和接受两个函数加在for循环里 就可以正常显示字符串了,这是为什么呢?
还有TXE状态调试的时候始终是1,没有清零过,是怎么回事?
前面收到的应该被覆盖掉了。
查询法就不行吗?
to :战士大风车
初始化什么的都是设定好的,我没改过,我就写了这么4句话。51单片机上就可以。
to:losingamong
试过,没有用。
我就是想 实现从串口通信助手发送并把接收字的符串显示出来,随便发多少(查询法)。大家再帮看看!
一周热门 更多>