2019-03-24 14:52发布
typedef unsigned char LCDBYTE; //重定义有关LCD 的,也即LCD 当中的数据位宽typedef unsigned char DOTBYTE; //重定义有关LCD 的,也即LCD 的点阵数量typedef const unsigned char FLASH; //重定义驱动当中存放到CODE 的数据类型声明typedef unsigned char BYTE;
void PutChar(unsigned char x,unsigned char y,unsigned int a){ DOTBYTE i,j; //数据暂存 FLASH *p_data; LCDBYTE Temp; BYTE Index = 0; if(Font_type==1) p_data = Char_TAB +(a-32)*Font_Wrod; else p_data = Char_TAB +a*Font_Wrod; //要写字符的首地址 j = 0; while(j < Y_Witch) { if(y > Dis_Y_MAX) break; i = 0; while(i < X_Witch) { if((i&0x07)==0) { Temp = *(p_data+Index); Index++; } if((Temp & 0x80) > 0) Write_Dot_LCD((x+i),y,Char_Color); else if(Font_Cover) Write_Dot_LCD((x+i),y,Char_BackColor); Temp <<= 1; i++; if((x+i) >= Dis_X_MAX) break; } y++; j++; }}
红 {MOD}的语句就是如题出错的语句,另外还告诉我x、i、Temp不识别,可我明明定义了呀,不知道是哪出错了
这段程序是某LCD使用说明上给出的用C51实现写一个字符的程序
最多设置5个标签!
typedef unsigned char LCDBYTE; //重定义有关LCD 的,也即LCD 当中的数据位宽
typedef unsigned char DOTBYTE; //重定义有关LCD 的,也即LCD 的点阵数量
typedef const unsigned char FLASH; //重定义驱动当中存放到CODE 的数据类型声明
typedef unsigned char BYTE;
void PutChar(unsigned char x,unsigned char y,unsigned int a)
{ DOTBYTE i,j; //数据暂存
FLASH *p_data;
LCDBYTE Temp;
BYTE Index = 0;
if(Font_type==1)
p_data = Char_TAB +(a-32)*Font_Wrod;
else
p_data = Char_TAB +a*Font_Wrod; //要写字符的首地址
j = 0;
while(j < Y_Witch)
{ if(y > Dis_Y_MAX)
break;
i = 0;
while(i < X_Witch)
{ if((i&0x07)==0)
{ Temp = *(p_data+Index);
Index++;
}
if((Temp & 0x80) > 0)
Write_Dot_LCD((x+i),y,Char_Color);
else if(Font_Cover)
Write_Dot_LCD((x+i),y,Char_BackColor);
Temp <<= 1;
i++;
if((x+i) >= Dis_X_MAX)
break;
}
y++;
j++;
}
}
红 {MOD}的语句就是如题出错的语句,另外还告诉我x、i、Temp不识别,可我明明定义了呀,不知道是哪出错了
这段程序是某LCD使用说明上给出的用C51实现写一个字符的程序
一周热门 更多>