调试了一下,12864不能读数据,就不能画点,就换了种方法,用数组在内存里开辟一个显示缓存,可是数组只送一半的时候显示正确,当全部显示的时候就什么都没了。
void Refresh_Gdram(void)
{
uchar i,j,k;
uint x,y;
delay_us( 72 );
write_com( EXTEND_SET );//扩张指令集,8位数据传输
delay_us( 72 );
write_com( DRAW_OFF );//绘图显示关闭
for( i = 0; i < 2; i++)
{
for( j = 0; j < 32; j++ )
{
write_com( 0x80 + j );//写y坐标
write_com( 0x80 );
write_com( DRAW_ON ); // 打开绘图功能
if( i == 0 )
{
write_com( 0x80 );
write_com( DRAW_ON ); // 打开绘图功能
}
else
{
write_com( 0x88 );
write_com( DRAW_ON ); // 打开绘图功能
}
for( k = 0; k < 16; k++ )
{
x = GDRAM[j + i * 32][2*k];
y = GDRAM[j + i * 32][2*k+1];
write_dat( x ); //高字节
write_dat( y ); //写低字节
delay_ms( 1 );
}
}
}
write_com( DRAW_ON ); // 打开绘图功能
write_com( BASIC_SET );// 打开基本指令集
}
这是刷新的程序。。。。不知道哪里出错了
整个程序基本汉字显示功能能用,能显示数字,正负都可以,写到花点这里就不行了。。。不玩这个了,哪位哥们想弄可以看看。。 |