OpenEdv-开源电子网

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

stm32h7b0 驱动rgb屏,不管怎么调都是有闪屏,有人可以通过一个找出问题所在的思路吗?

[复制链接]

1

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-10-18
在线时间
3 小时
发表于 2022-3-28 20:21:38 | 显示全部楼层 |阅读模式
5金钱
在stm32h7b0跑lvgl8.2,驱动的屏幕是st7701s,分辨率:480X854,颜色格式:rgb565,使用内部AXI SRAM作为显存。希望各位大佬解惑。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

17

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
402
金钱
402
注册时间
2020-5-8
在线时间
153 小时
发表于 2022-3-29 10:40:02 | 显示全部楼层
我用407+SRAM驱动VGA显示了320*480*16位图像,可以交流一下
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-10-18
在线时间
3 小时
 楼主| 发表于 2022-3-29 14:00:37 | 显示全部楼层
新洲罗远 发表于 2022-3-29 10:40
我用407+SRAM驱动VGA显示了320*480*16位图像,可以交流一下

你的也是遇到闪屏情况吗
回复

使用道具 举报

49

主题

148

帖子

0

精华

高级会员

Rank: 4

积分
683
金钱
683
注册时间
2017-11-23
在线时间
133 小时
发表于 2022-3-29 15:35:02 | 显示全部楼层
我用过2.8屏,遇见过闪屏,一种是微弱的闪屏,一种是明显的闪屏,
最终找到原因,微弱的闪屏是,单片机速度不够快,再相同时间内,写入屏的数据太慢,或者需要写入的数据太多,或者屏内存的读写速度跟不上所致,
明显的闪屏,是速度严重跟不上了,或者数据大大的多导致的,
最终,我把颜色类的数据只写1次,就好了
变化颜色的,特别影响速度
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-10-18
在线时间
3 小时
 楼主| 发表于 2022-3-29 16:21:44 | 显示全部楼层
温柔的郎 发表于 2022-3-29 15:35
我用过2.8屏,遇见过闪屏,一种是微弱的闪屏,一种是明显的闪屏,
最终找到原因,微弱的闪屏是,单片机速 ...

怎样才是把颜色数据只写一次呀,我是刚弄这些LCD屏不久,对这些刷屏啥的还搞不太懂,请大佬不吝指教[抱拳]
回复

使用道具 举报

49

主题

148

帖子

0

精华

高级会员

Rank: 4

积分
683
金钱
683
注册时间
2017-11-23
在线时间
133 小时
发表于 2022-3-29 17:57:29 | 显示全部楼层
只写1次或者只操作1次的方法很多,我的做法如下
  if(g1==0)        {  LCD_show1();  g1=1; }       
解释:先定义1个g1,默认g1==0的,这时候,判断g1的值,执行想要的操作程序,比如你要的写入颜色,数值等操作,
操作完成,紧接着把g1=1,就可以了,
当程序再次执行到这里时,g1上次已被置1了,这次就不会再执行了,所以就达到了程序只执行1次的目的了。
回复

使用道具 举报

49

主题

148

帖子

0

精华

高级会员

Rank: 4

积分
683
金钱
683
注册时间
2017-11-23
在线时间
133 小时
发表于 2022-3-29 17:59:08 | 显示全部楼层
以此类推,可以设置让某段程序执行任何想要的次数
回复

使用道具 举报

49

主题

148

帖子

0

精华

高级会员

Rank: 4

积分
683
金钱
683
注册时间
2017-11-23
在线时间
133 小时
发表于 2022-3-29 18:03:36 | 显示全部楼层
屏幕显示,有1部分只显示1次就可以,只要不删除,显示的内容永远在显示的,这类数据,只需要显示1次就行了,比如颜色,某个菜单名称等,
有些数据需要随时更新显示,这类就需要在主程序里反复更新,比如一些变化的数据,
颜色,字体,更新是最占用内存,最影响速度的,但只让他们显示1次,还是可以的,其他时间还是不会影响到CPU计数速度的,
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-10-18
在线时间
3 小时
 楼主| 发表于 2022-3-29 18:31:50 | 显示全部楼层
温柔的郎 发表于 2022-3-29 17:57
只写1次或者只操作1次的方法很多,我的做法如下
  if(g1==0)        {  LCD_show1();  g1=1; }       
解释:先定义1个 ...

明白大佬的意思,我尝试一下这个思路[抱拳]
回复

使用道具 举报

11

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
163
金钱
163
注册时间
2020-5-11
在线时间
26 小时
发表于 2022-6-22 10:43:45 | 显示全部楼层
新洲罗远 发表于 2022-3-29 10:40
我用407+SRAM驱动VGA显示了320*480*16位图像,可以交流一下

方案方便共享吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 15:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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