OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2296|回复: 3

for语句循环问题请教,谢谢谢

[复制链接]

9

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-2-21
在线时间
12 小时
发表于 2020-2-29 16:40:44 | 显示全部楼层 |阅读模式
1金钱
今天写了一个串口发送数据的程序,部分代码如下                u8 t;
                if(KEY1==0)
                {
                        delay_ms(10);
                        while(!KEY1);
                        for(t=0;t<size;t++)
                                {
                                        USART_SendData(USART1,sendbuff[t]);
                                        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
                                }
                }

下载到板子上发现复位以后第一次按键,串口调试助手接收不到字符串的第一个字符,第二次按键就没问题。
改成 u8 t=0; 后,问题消失了,麻烦知道的同学讲解一下呗。

最佳答案

查看完整内容[请看2#楼]

谢谢,刚才有看了一下手册,找到原因了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-2-21
在线时间
12 小时
 楼主| 发表于 2020-2-29 16:40:45 | 显示全部楼层
nashui_sx 发表于 2020-2-29 17:02
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
                USART_SendData(USART1, (u8) arra ...

谢谢,刚才有看了一下手册,找到原因了
回复

使用道具 举报

9

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2014-2-21
在线时间
12 小时
 楼主| 发表于 2020-2-29 16:46:00 | 显示全部楼层
更正一下,改为u8 t=0; 并没有解决
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2020-2-29 17:02:17 | 显示全部楼层
                while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
                USART_SendData(USART1, (u8) array[i++]);
                while (USART_GetFlagStatus(USART1, USART_FLAG_TC)  == RESET);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-21 06:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表