天嵌 ARM开发社区

 找回密码
 注册
查看: 1557|回复: 1

求教

[复制链接]
liuke918 发表于 2010-5-12 23:08:41 | 显示全部楼层 |阅读模式
void Paint_Bmp(int x0,int y0,int h,int l,unsigned char bmp[])
{
        int x,y;
        U32 c;
        int p = 0;
       
    for( y = y0 ; y < l ; y++ )
    {
            for( x = x0 ; x < h ; x++ )
            {
                    c = bmp[p+1] | (bmp[p]<<8) ;//小端模式,低字节高位

                        if ( ( (x0+x) < SCR_XSIZE_TFT) && ( (y0+y) < SCR_YSIZE_TFT) )
                                LCD_BUFFER[y0+y][x0+x] = c ;
                       
                    p = p + 2 ;
            }
    }
}
这个函数中bmp[p]<<8那bmp[p]不是全为0了吗?应该是把bmp[p]赋值给C再C<<8吧
亚瑟王 发表于 2010-5-19 18:22:24 | 显示全部楼层
bmp[p]<<8左移8位,低8位为0,高地址还是原来bmp[8]的数据,然后和bmp[p+1]相或,相或后,低8位就是bmp[p+1]的值了。
这个是没有错误的。你理解错了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-11-1 07:35 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表