USART_SendData发送数据第一位显示不出来

2019-07-20 02:39发布

主函数里的for语句是这样的,输入123456,XCOM里显示的只有23456。

但是如果加上一句delay(把注释的//去掉),就可以完整输出123456了。

请问是为什么呢?

for(i=0;i<len;i++)
{
        USART_SendData(USART1 , USART_BUF[i]);

        //delay_ms(500);

        while( USART_GetFlagStatus(USART1 , USART_FLAG_TC) != SET );
}



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
nashui_sx
1楼-- · 2019-07-20 08:20
米斯特R
2楼-- · 2019-07-20 09:43
在网上找了一个办法,把 USART_FLAG_TC 改成 USART_FLAG_TXE ,不用延时函数也可以了。

但是不懂原理啊……有大佬说一下吗
米斯特R
3楼-- · 2019-07-20 10:19
 精彩回答 2  元偷偷看……
米斯特R
4楼-- · 2019-07-20 14:24
 精彩回答 2  元偷偷看……
正点原子
5楼-- · 2019-07-20 18:35
多看参考手册,另外,看我们代码怎么写的
触电丶
6楼-- · 2019-07-20 22:56
 精彩回答 2  元偷偷看……

一周热门 更多>