printf(" 您发送的消息为: ");中最后一个 为什么不是回车换行?

2019-08-21 13:32发布

在进行串口实验时为什么printf(" 您发送的消息为: ");中最后一个 为什么不换行?如果把 删掉则会“:”会变成“?”。
在其他地方printf后面的 却是换行功能。求解答!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
21条回答
vino随风
2019-08-21 19:03
if(USART_RX_STA&0x8000)
{    
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
printf(" 您发送的消息为: ");
for(t=0;t<len;t++)
{
USART1->DR=USART_RX_BUF[t];
while((USART1->SR&0X40)==0);//等待发送结束
}
printf(" ");//插入换行
USART_RX_STA=0;
有加while((USART1->SR&0X40)==0);,但问题的关键是第一个printf后面的 不是换行功能,如果去掉 则 前面一个字会变成问号

一周热门 更多>