打印
[AVR单片机]

请教各位大虾 我用m128液晶图片为啥显示这么慢?

[复制链接]
1155|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luqiang6ch|  楼主 | 2008-1-2 16:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用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();

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

23

帖子

1

粉丝