OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 15347|回复: 21

F429中将RGB565改成RGB888遇到问题

[复制链接]

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
发表于 2016-8-24 11:42:00 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 shjzqbx 于 2016-8-24 16:07 编辑

经过测试在#define LCD_PIXFORMAT     LCD_PIXEL_FORMAT_RGB565        的时候汉字显示和图片都可以显示,但是图片感觉是黄颜色和图片的叠加(无法显示白色,实际的背景色就是黄颜色)
然后我就将RGB565改成RGB888,想把白色显示出来
我是在阿波罗STM32F429 资料盘(A盘)中的2,标准例程-HAL库版本里面的  实验43 图片显示实验  的基础上更改的,出现背景色无法显示白色和汉字显示不正常,求指教

最佳答案

查看完整内容[请看2#楼]

现在汉字终于显示正常了 #if LCD_PIXFORMAT==LCD_PIXEL_FORMAT_ARGB8888||LCD_PIXFORMAT==LCD_PIXEL_FORMAT_RGB888 ltdc_framebuf[0]=(u32*)<dc_lcd_framebuf; lcdltdc.pixsize=3; //每个像素占4个字节 RGB888每个像素占3个字节 但是颜色还是无法显示白色,期待高手帮忙解惑
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
 楼主| 发表于 2016-8-24 11:42:01 | 显示全部楼层
现在汉字终于显示正常了
#if LCD_PIXFORMAT==LCD_PIXEL_FORMAT_ARGB8888||LCD_PIXFORMAT==LCD_PIXEL_FORMAT_RGB888
        ltdc_framebuf[0]=(u32*)&ltdc_lcd_framebuf;
        lcdltdc.pixsize=3;                                //每个像素占4个字节
RGB888每个像素占3个字节

但是颜色还是无法显示白色,期待高手帮忙解惑
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-8-24 12:45:59 | 显示全部楼层
额,图片显示实验里面用到算法什么的都是针对RGB565的!包括颜色的宏定义都是RGB565格式的!这个也是什么用RGB565不用RGB888的重要原因。
回复

使用道具 举报

0

主题

39

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1170
金钱
1170
注册时间
2014-8-24
在线时间
315 小时
发表于 2016-8-24 13:09:38 | 显示全部楼层
zuozhongkai 发表于 2016-8-24 12:45
额,图片显示实验里面用到算法什么的都是针对RGB565的!包括颜色的宏定义都是RGB565格式的!这个也是什么用 ...

问一下grb565是不是不能做比如文字背景透明(文字背景是下面一层的图片)啊?
回复

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
 楼主| 发表于 2016-8-24 13:17:39 | 显示全部楼层
我颜色的宏定义已经改成RGB888的了
//画笔颜色
//画笔颜色
#define WHITE                  0xFFFFFF
#define BLACK                  0x000000          
#define RED                    0xFF0000
#define YELLOW                 0xFFFF00

#define LCD_PIXFORMAT LCD_PIXEL_FORMAT_RGB888

#define LCD_PIXFORMAT				LCD_PIXEL_FORMAT_RGB888
2.png
回复

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
 楼主| 发表于 2016-8-24 13:21:02 | 显示全部楼层
第一张图是改成RGB888   连字符串显示都出问题了
第二张图片是RGB565  字符串显示正常的
两种情况都有一个问题,就是感觉颜色的低8位没有传过去,本来应该是#FFFFFF(白色),变成了#FFFF00(黄色)
回复

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
 楼主| 发表于 2016-8-24 13:30:43 | 显示全部楼层
akikyoua 发表于 2016-8-24 13:09
问一下grb565是不是不能做比如文字背景透明(文字背景是下面一层的图片)啊?

RGB565文字背景可以是图片
//在指定位置开始显示一个字符串            
//支持自动换行
//(x,y):起始坐标
//width,height:区域
//str  :字符串
//size :字体大小
//mode:0,非叠加方式;1,叠加方式                                 
void Show_Str(u16 x,u16 y,u16 width,u16 height,u8*str,u8 size,u8 mode)

mode选择1,叠加方式  就可以用先显示的图片当背景色了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2016-8-24 20:41:47 | 显示全部楼层
shjzqbx 发表于 2016-8-24 13:17
我颜色的宏定义已经改成RGB888的了
//画笔颜色
//画笔颜色

直接用我们开发板的例程?出这个问题?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
 楼主| 发表于 2016-8-25 09:20:49 | 显示全部楼层
正点原子 发表于 2016-8-24 20:41
直接用我们开发板的例程?出这个问题?

是的,我现在正在寻找问题
已经找到一处确定的问题了,头文件里面定义的是
#define LCD_PIXEL_FORMAT_RGB888         0X01  
c文件里面用的是
#if LCD_PIXFORMAT==LCD_PIXFORMAT_ARGB8888||LCD_PIXFORMAT==LCD_PIXFORMAT_RGB888
两处不一样
回复

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
 楼主| 发表于 2016-8-25 09:23:57 | 显示全部楼层
我用的是奇美的10.4寸屏,像素是800*600

G104S1-L01 Spec ver2.1.pdf

702.45 KB, 下载次数: 965

回复

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
 楼主| 发表于 2016-8-25 09:36:51 | 显示全部楼层
我使用的是 天高微-MS90C385-LVDS接收发送芯片  将RGB转换成LVDS

使用的转接板原理图

使用的转接板原理图

天高微-MS90C385-LVDS接收发送芯片.pdf

386.43 KB, 下载次数: 878

回复

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
 楼主| 发表于 2016-8-26 11:45:28 | 显示全部楼层
自顶,期待高手帮忙解答
回复

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
金钱
1171
注册时间
2015-11-9
在线时间
248 小时
发表于 2016-10-31 14:51:03 | 显示全部楼层
你这个解决了吗?我也有类似问题,RGB888显示不正确
回复

使用道具 举报

1

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2016-8-24
在线时间
27 小时
 楼主| 发表于 2016-11-10 09:23:48 | 显示全部楼层
shibinjie 发表于 2016-10-31 14:51
你这个解决了吗?我也有类似问题,RGB888显示不正确

我解决了  给的例程里面  有几处不对   改完后就行了
#if LCD_PIXFORMAT==LCD_PIXEL_FORMAT_ARGB8888||LCD_PIXFORMAT==LCD_PIXEL_FORMAT_RGB888
        ltdc_framebuf[0]=(u32*)&ltdc_lcd_framebuf;
        lcdltdc.pixsize=3;                                //每个像素占4个字节
RGB888每个像素占3个字节
回复

使用道具 举报

31

主题

187

帖子

0

精华

高级会员

Rank: 4

积分
699
金钱
699
注册时间
2014-9-19
在线时间
193 小时
发表于 2017-8-9 17:04:12 | 显示全部楼层
这个该过了 还是你的现象啊
回复

使用道具 举报

15

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2017-7-20
在线时间
55 小时
发表于 2017-8-10 09:47:09 | 显示全部楼层
楼主自己驱动过屏幕吗?还是直接用的官方板子?如果驱动过求告知
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-4-12
在线时间
2 小时
发表于 2018-4-12 11:11:18 | 显示全部楼层
楼主您好,我现在在做将RGB565改成RGB888,修改代码后,屏幕显示的现象和您之前的一样,想向您请教,能加您QQ吗?谢谢啊,我的QQ:1845395137
回复

使用道具 举报

8

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
242
金钱
242
注册时间
2018-1-17
在线时间
23 小时
发表于 2018-9-4 11:03:12 | 显示全部楼层
17327054092 发表于 2018-4-12 11:11
楼主您好,我现在在做将RGB565改成RGB888,修改代码后,屏幕显示的现象和您之前的一样,想向您请教,能加您Q ...

请问一下你的RGB888怎么和STM32接线的啊
回复

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
100
金钱
100
注册时间
2013-9-10
在线时间
14 小时
发表于 2019-2-23 16:05:59 | 显示全部楼层
楼主是用哪个的阿波罗F429的开发板改的么
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-5-23
在线时间
6 小时
发表于 2020-5-29 09:03:31 来自手机 | 显示全部楼层
我改成 RGB888也是这样,但是我把像素字节改为3就会进去hard_fault
回复

使用道具 举报

6

主题

45

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
264
金钱
264
注册时间
2014-11-26
在线时间
91 小时
发表于 2021-5-20 16:00:02 | 显示全部楼层
我改成 RGB888 你是无法显示白色  我显示图片时显示过白  白的过分 不知道怎么办 1024*768 rgb888模式
回复

使用道具 举报

5

主题

133

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1782
金钱
1782
注册时间
2015-3-13
在线时间
271 小时
发表于 2021-10-8 22:33:48 | 显示全部楼层
楼主是怎么解决这个问题的?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 19:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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