楼主: 曾志祥

[已解决] LPC54608 开发板如何显示图片?

[复制链接]

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24879
最后登录
2025-7-20
发表于 2017-8-25 15:45:48 | 显示全部楼层
本帖最后由 小恩GG 于 2017-8-25 15:48 编辑
曾志祥 发表于 2017-8-25 15:38
你好,问题已经解决,官方demo里的调色板函数有问题,自己重新写一个后正常。 ...

非常感谢楼主的信息更新,是否可以把你重新写的调色函数也分享出来呢?
请把详细步骤分享下,如果确认是官方代码有bug,我会向我们相关部门报,下次更新的时候会修改。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

17

帖子

0

注册会员

Rank: 2

积分
75
最后登录
2017-10-27
 楼主| 发表于 2017-8-25 16:24:31 | 显示全部楼层
你好。目前16bpp5655的图片显示未成功,但是我做了一个8bpp的,可以成功显示。我加了两种调色板,一种是灰度,一种暗红。两种均可以显示。具体实验结果见附件。这个是官方demo里给的调色函数。
void LCDC_SetPalette(LCD_Type *base, const uint32_t *palette, uint8_t count_words)
{
   assert(count_words <= ARRAY_SIZE(base->PAL));

   uint32_t i;

  for (i = 0; i < count_words; i++)
   {
       base->PAL[i] = palette[i];
   }
}


这是我修改后的函数,严格按照数据手册上寄存器位(UM10912,33.7.14)来操作的,因为我的图像是8bpp,所以只能显示256色
void LCDC_SetPalette(LCD_Type *base, const uint32_t *palette, uint8_t count_words)
{
    assert(count_words <= ARRAY_SIZE(base->PAL));
    uint32_t  u32Palette;
    uint32_t i;
   for (i = 0; i < 256; i += 2)
    {
        u32Palette = ((palette[i] >> 3) & 0x1f) | (((palette[i] >> 11) & 0x1f) << 5) | (((palette[i] >> 19) & 0x1f) << 10);
       u32Palette = u32Palette | (((palette[i+1] >> 3) & 0x1f) << 16) | (((palette[i+1] >> 11) & 0x1f) << 21) | (((palette[i+1] >> 19) & 0x1f) << 26);
        base->PAL[i/2] = u32Palette;
    }
}

暗红调色板

暗红调色板

暗红调色板

暗红调色板

灰色调色板

灰色调色板

灰色调色板

灰色调色板
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

17

帖子

0

注册会员

Rank: 2

积分
75
最后登录
2017-10-27
 楼主| 发表于 2017-8-25 16:30:34 | 显示全部楼层
另外,我没有用APPfillbuffer这个函数,直接定义了一个函数,用于图片显示:
void lcd_DrawBmp(int ix0,int iy0, int iwidth, int iheight, unsigned char *pucBmp)//图片起始位置坐标,图片大小,图片数据。
{
    int i,j;
       
                for(j=0; j<iheight; j++)
                {
                        for(i =0; i<iwidth; i++)
                        {
                                s_frameBuf[j+iy0][i+ix0] = pucBmp[j*iwidth+i];
                        }
                }
}
主函数中直接替换APPFILLBUFFER这个函数。lcd_DrawBmp(0,0,320,240, (unsigned char*)image8bpp);
关于LCD的配置,只修改了lcdConfig.bpp = kLCDC_8BPP和调色板palette数组
static const uint32_t palette_gray[] ={。。。。。太长就不粘贴了}
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24879
最后登录
2025-7-20
发表于 2017-8-25 16:32:05 | 显示全部楼层
本帖最后由 小恩GG 于 2017-8-25 17:34 编辑
曾志祥 发表于 2017-8-25 16:24
你好。目前16bpp5655的图片显示未成功,但是我做了一个8bpp的,可以成功显示。我加了两种调色板,一种是灰 ...

好的,感谢你的详细信息。
下周一开始,我也会仔细查看16bpp565图片的显示,在我这边测试。
之前手里问题太多,没空帮你具体查看,不好意思了。
还请耐心等待下,我这边有任何更新信息,都会告诉你。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

17

帖子

0

注册会员

Rank: 2

积分
75
最后登录
2017-10-27
 楼主| 发表于 2017-9-4 09:12:13 | 显示全部楼层
小恩GG 发表于 2017-8-25 16:32
好的,感谢你的详细信息。
下周一开始,我也会仔细查看16bpp565图片的显示,在我这边测试。
之前手里问题 ...

你好,请问16bpp 565图片显示有解决吗
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24879
最后登录
2025-7-20
发表于 2017-9-4 09:30:50 | 显示全部楼层
曾志祥 发表于 2017-9-4 09:12
你好,请问16bpp 565图片显示有解决吗

不好意思,我还在调试中,如果解决了会回复你,还请再耐心等待下。
你那边如果有任何的更新信息,也请告诉我。
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24879
最后登录
2025-7-20
发表于 2017-9-6 16:40:16 | 显示全部楼层
曾志祥 发表于 2017-8-25 16:30
另外,我没有用APPfillbuffer这个函数,直接定义了一个函数,用于图片显示:
void lcd_DrawBmp(int ix0,int ...

楼主,你把你修改后的工程也上传给我看看呢。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

17

帖子

0

注册会员

Rank: 2

积分
75
最后登录
2017-10-27
 楼主| 发表于 2017-9-7 09:24:13 | 显示全部楼层
小恩GG 发表于 2017-9-6 16:40
楼主,你把你修改后的工程也上传给我看看呢。

你好,附件是修改后的工程

lcdc_cursor.rar

4 MB, 下载次数: 12, 下载积分: 威望 1

回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24879
最后登录
2025-7-20
发表于 2017-9-8 18:00:28 | 显示全部楼层
曾志祥 发表于 2017-9-7 09:24
你好,附件是修改后的工程


楼主你好!
我直接修改也没有改成功。
但是我用TouchGFX生成了一个16bpp,显示图片的代码。
你可以参考下,
MyApplication.part1.rar (15 MB, 下载次数: 14)
回复 支持 反对

使用道具 举报

该用户从未签到

26

主题

97

帖子

0

中级会员

Rank: 3Rank: 3

积分
386
最后登录
2023-9-12
发表于 2023-3-12 13:57:31 | 显示全部楼层
曾志祥 发表于 2017-8-22 13:58
这是我基于lcdc_cursor这个demo修改的。
extern unsigned const char image[153600];//图像数据,320*240   ...

现在正好需要,感谢感谢大神了
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 20:11 , Processed in 0.115466 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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