请问:单步运行没问题,全速就没现象

fengyiqishi   2009-11-17 20:34 楼主
小虾最近在做F449的自带的液晶实验时写了一个像跑马灯一样从0显示到6的程序!主要部分如下:
while(1)
{
for(i=0;i<7;i++)
{
LCDMEM [i]= digit[i];
//delay(50000);
clear();
}
}
其中clear为清屏函数。
我单步运行这个程序确实能得到想要的结果--数字能依次显示出来,但是全速以后液晶屏上就什么都不显示!
请问这是什么问题啊?
P.S 刚开始我以为要延时一下,后来发现应该不是延时的问题,我延时多久都没用!

回复评论 (6)

我觉得是你的clear();这句放的位置不对,程序运行,LCD还没来的及显示,你就clear了。
点赞  2009-11-18 16:02
延时~
点赞  2009-11-19 13:09
没有延时不行
点赞  2009-11-21 10:35
估计是你的延时函数错了,把延时函数贴出来
点赞  2009-11-21 13:00
二楼正解,如下修改就应该没问题了

while(1)
{
for(i=0;i<7;i++)
{
LCDMEM [i]= digit[i];
}
delay(50000);
clear();
}
点赞  2009-11-23 10:12
void delay(int u)
{ long int i,j;
for(i=0;i<u;i++)
for(j=0;j<1000;j++);
}
这是我的延时函数。
我估计是不是因为LCD的时钟设置得太慢了,所以延时的时间不够长,所以全速才看不到现象啊?
点赞  2009-11-23 10:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复