void WRITE_TWOline(uchar X,uchar Y,uchar count)
{
uchar i;
uchar DDATA;
switch(Y)
{
case 1:{
X=X|0x80;
WRITE_CMD(X);
for(i=0;i=<count;i++)
{
uchar Num=0;
DDATA=str0[Num];
WRITE_DATA(DDATA);
Num++;
}
}break;
case 2:{
X=X+0x40;
X=X|0x80;
WRITE_CMD(X);
for(i=0;i=<count;i++)
{
uchar Num=0;
DDATA=str1[Num];
WRITE_DATA(DDATA);
Num++;
}
}break;
default:break;
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
第二个我觉得是逻辑上的错误,这种错误编译器一般不会报错,需要程序员自己的小心处理。
……
}break;
这种风格头一次见,呵呵
for(i=0;i<=count;i++)
这个<=符号是很容易出错的,因为不太符合我们平时的写法
void WRITE_TWOline(uchar X,uchar Y,uchar count)
{
uchar i;
switch(Y)
{
case 1:X|=0x80;
WRITE_CMD(X);//调用写指令确定DDRAM地址
for(i=0;i<=count;i++)
{
WRITE_DATA(str0);
}
break;
case 2:X=(X+0x40)|0x80;
WRITE_CMD(X);//调用写指令确定DDRAM地址
for(i=0;i<=count;i++)
{
WRITE_DATA(str1);
}
break;
default:break;
}
}
去掉了Num和DDATA两个变量,这里不需要那两个变量的辅助也同样可以实验函数功能。
一周热门 更多>