小虾最近在做F449的自带的液晶实验时写了一个像跑马灯一样从0显示到6的程序!主要部分如下:
while(1)
{
for(i=0;i<7;i++)
{
LCDMEM [i]= digit[i];
//delay(50000);
clear();
}
}
其中clear为清屏函数。
我单步运行这个程序确实能得到想要的结果--数字能依次显示出来,但是全速以后液晶屏上就什么都不显示!
请问这是什么问题啊?
P.S 刚开始我以为要延时一下,后来发现应该不是延时的问题,我延时多久都没用!
我觉得是你的clear();这句放的位置不对,程序运行,LCD还没来的及显示,你就clear了。
二楼正解,如下修改就应该没问题了
while(1)
{
for(i=0;i<7;i++)
{
LCDMEM [i]= digit[i];
}
delay(50000);
clear();
}
void delay(int u)
{ long int i,j;
for(i=0;i<u;i++)
for(j=0;j<1000;j++);
}
这是我的延时函数。
我估计是不是因为LCD的时钟设置得太慢了,所以延时的时间不够长,所以全速才看不到现象啊?