|
最近在搞万年历,想显示16*32的字符,因字库都是16*16的,所以用绘图的方法做!但奇怪的是,如果不用图形模式,直接用里面的字库写字,没问题,
但一旦打开图形模式,显示图形就会很多乱码,此时在在切换写16*16 乱码也不会消失,有时两个画面切换,换着换着就死机了!直接白屏!
高手们指点下?不胜感激。。。。
已经加勒清楚GDRAM的程序!
void write1632GDRAM(uchar x,uchar *bmp)
{
uchar i,j,basex,basey;
basex=0x80;
basey=basex+x-1;
write_com(0x34); //绘图模式关写入数据
for(i=0;i<16;i++) //写入上半屏16行点阵
{
write_com(0x90+i); //先写入垂直位址,选上下32行的哪一行,不管上下半屏,
delayus(5); //首行都为0X80,第二行为0X90。
write_com(basey); //(选上半屏)再写入水平位址
delayus(5);
for(j=0;j<2;j++) //2个8位元的数据,即16BIT宽度
write_data(*bmp++);
delayus(5);
}
for(i=0;i<16;i++) //写入下半屏16行点阵
{
delayus(5);
write_com(0x80+i); //先写入垂直位址,选上下32行的哪一行,不管上下半屏,首行都为0X80
delayus(5);
write_com(basey+8); //(选下半屏)再写入水平位址
for(j=0;j<2;j++) //2个8位元的数据,即16BIT宽度
write_data(*bmp++);
delayus(5);
}
write_com(0x36); //写完数据,开图片显示
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|