社区导航

 

搜索
查看: 2012|回复: 3

[讨论] LPC1788+FATFS像素数据前后倒置怎么破

[复制链接]

22

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-7-31 16:02 | 显示全部楼层 |阅读模式
现在我用LPC1788和一块4.3寸屏来显示SD卡的bmp照片。

原来实验时是采用Img2LCD将24位bmp图转换成24位像素C语言数组,其像素排序为:

0xFF 0XFF 0X00 0XAA 0XAA 0X00...... 0XCE 0X84 0X00

现在是FATFS读取SD卡的bmp像素数据,按顺序读取的像素数据正好与原来的相反:

0XCE 0X84 0X00......0XAA 0XAA 0X00 0xFF 0XFF 0X00

假设图片显示为自上而下自左向右填充像素数据,我现在的变成了刚好颠倒,自下而上自右向左了。

请问这个问题怎么解决啊。

请各位前辈赐教。
此帖出自NXP LPC MCU论坛
1.png

回复

使用道具 举报

22

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-7-31 17:02 | 显示全部楼层
这个形式应当也就是图片翻转一下能够正常显示。我再次用数组的形式读显能正常。说明原因应该在这个程序
                        pDst16 = (unsigned long *)LCD_VRAM_BASE_ADDR;
                        for (i=0;i<480*272;i++)
                        {
                                        f_read(&bmpfsrc,&pColorData,3,&read_num);  // 每次读取三个像素
                       
                                  pBmp8 = (uint8_t *)pColorData;             // 数组转换成指针
                                 
                                        *pDst16 =*pBmp8++<<16;
                                        *pDst16 +=*pBmp8++<<8;
                                        *pDst16 +=*pBmp8++;                        //  三个像素高低位组合,映射到LCD地址上
                                        *pDst16++;
                        }
我用串口输出pDst16,数据是正常的为什么图片会乱码的。
百思不得其解,请各位不吝赐教

回复

使用道具 举报

54

TA的帖子

2

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-9-16 12:04 | 显示全部楼层
你把工程 上传下  因为只看一小段代码   可能看不出什么   感觉是不是别的地方出问题了

点评

谢谢,你说的没错。确实是别的地方出了问题,显示像素地址的加减出了错误。非常感谢  详情 回复 发表于 2015-9-18 09:43

回复

使用道具 举报

22

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-9-18 09:43 | 显示全部楼层
905377346 发表于 2015-9-16 12:04
你把工程 上传下  因为只看一小段代码   可能看不出什么   感觉是不是别的地方出问题了

谢谢,你说的没错。确实是别的地方出了问题,显示像素地址的加减出了错误。非常感谢

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/4 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-5 21:24 , Processed in 0.190777 second(s), 26 queries , Gzip On, MemCache On.

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