主题 : 2440LCD图片显示程序问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 54184
精华: 0
发帖: 6
金钱: 40 两
威望: 8 点
综合积分: 12 分
注册时间: 2011-08-25
最后登录: 2011-09-14
楼主  发表于: 2011-09-09 18:28

 2440LCD图片显示程序问题

管理提醒: 本帖被 qq2440 从 micro2440技术交流专区 移动到本区(2013-11-18)
2440开发板图片显示有这样一段代码不是很理解,求教
static void Pait_Bmp(int x0,int y0,int h,int l,const unsigned char *bmp)
{
    int x,y;
    U32 c;
    int p = 0;
    
    for( y = 0 ; y < l ; y++ )
    {
        for( x = 0 ; x < h ; x++ )
        {
            c = bmp[p+1] | (bmp[p]<<8) ;

        if ( ( (x0+x) < SCR_XSIZE) && ( (y0+y) < SCR_YSIZE) )
            LCD_BUFFER[y0+y][x0+x] = c ;

            p = p + 2 ;
        }
    }
}
运行Pait_Bmp(0, 0, 240, 320, sunflower_240x320)就可以把图片信息写到缓存,这个LCD是16bpp的,主要c = bmp[p+1] | (bmp[p]<<8) ;

        if ( ( (x0+x) < SCR_XSIZE) && ( (y0+y) < SCR_YSIZE) )
            LCD_BUFFER[y0+y][x0+x] = c ;
就开始不理解了,有哪位指点一二吗?