关于while 和 do while 在单片机上消除鬼影的作用

2019-07-15 16:10发布

我在学习lcd1602时遇到了一些有趣的现象。首先,我是运用while语句写了这段代码:
while( sta & 0x80)
{
  LCD1602_E = 1;
sta  =  LCD1602_DB ;
LCD1602_E = 0;
}

但是出现了鬼影,而且只能显示单行的信息,如图:
但是我用了do while 之后,不但鬼影消失了,还可以显示两行,感觉不科学啊!哪位大神可以解释一些其中的原理,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
成日色
1楼-- · 2019-07-15 22:02
发现图片没有上传,现在补上。。。
1.png
2.png
barbaraw
2楼-- · 2019-07-15 22:28
注意sta的值什么时候更新
成日色
3楼-- · 2019-07-16 04:11
barbaraw 发表于 2015-8-31 19:14
注意sta的值什么时候更新

您好,可能这个区别可以消除鬼影,但为什么会有显示一行两行的区别?

一周热门 更多>