我用m128做的,C口做8位数据输出口,320x240彩色液晶,图片128*38像素, 大小Image size:128 X 38 X 16BPP=9728 bytes. 4 bytes=P(x,y)+P(x+1,y) 数据用数组形式放在flash中,但是运行时却是一条一条显示,很慢才显示完,请各位大虾帮忙看看!!谢谢!! //-----发送图片函数-----// void ShowBMP160(uint X, uint Y) { uchar i,j,Buffer[5],ram_valh,ram_vall; uchar *p; unsigned long int addr; p=flash_picsihui; addr =(X*2)+(Y*640);
Delay_ms(10); for(i=0;i<38;i++)// Data ROM pointer { Buffer[0]=4; Buffer[1]=0x81; Buffer[2]=addr; Buffer[3]=addr>>8; Buffer[4]=addr>>16; WritePKG(Buffer);
for(j=0;j<128;j++) { SdCmd(0x84); // send data packet SdCmd(2); SdCmd(pgm_read_byte(p+1));// low byte读flash内的数组到RAM中 SdCmd(pgm_read_byte(p));// high byte读flash内的数组到RAM中 p+=2; CmdEnd(); } addr+=640; // next line } } //----发送数据包函数------// void WritePKG(uchar *pkg) // send a command package { uchar i; Delay_ms(2); for(i=*pkg;i;i--) SdCmd(*(++pkg)); CmdEnd(); |