完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
请教下,我的rgb屏,怎么不能够同时开启2层 ??
如果同时开启2层的话,显示就会出现闪动的麻点或者条纹(当然,显示时是设置某一层显示), 只要同时开启2层,显示就完全乱了, 如果2层显示其中的任意一层(必须把另外一层关闭才行),则完全没有任何问题, 这是怎么个情况啊 ??? |
|
相关推荐
9个回答
|
|
昨天刚听了STM的GUI的课程,多层需要硬件支持。如果你的图像点数太大了,芯片本身的存储器不够的,需要外扩。记不住了,好像高分辨的1个图就将存储空间塞满了,第二层无处存放的。想想看是这个问题吗?
|
|
|
|
屏幕闪动厉害的话,可能内存带宽不够,只能开一个来用了
|
|
|
|
HELLOKITTYNEW 发表于 2018-11-30 15:09 本帖最后由 hpdell 于 2017-3-9 17:18 编辑 我是使用外部的sdram 作为显存的, 每个层都分配了4MBYte的存储空间, lcd的分辨率是 800*1280的,如果同时开启2层的显示就会乱的话, 根据你的分析来判断的话,那估计应该是我外扩的sdram的显存速度不够 或者降低屏幕分辨率 不知道可否解决这个问题呀 ?? 我的单片机使用的是 f7xx系列的 |
|
|
|
本帖最后由 hpdell 于 2017-3-9 19:48 编辑 同时开2层的话,根本无法正常工作,显示完全乱了, 单独开某一层显示,完全没有任何问题 ,单独开一层的话,那透明功能是不是就不能够使用了啊 ??? 开启2层的显示效果: 任意单层显示效果如下: 层切换函数: /* 函数名称: 函数功能:设置使用层 参数说明:_SetLayerUser 0表示使用第一层,1表示使用第二层 */ void LTDC_LayerSetUser(uint8_t _SetLayerUser) { if(_SetLayerUser == 0) { BSP_LCD_SelectLayer(1); BSP_LCD_SetLayerVisible(1, DISABLE); BSP_LCD_SelectLayer(0); BSP_LCD_SetLayerVisible(0, ENABLE); } else { BSP_LCD_SelectLayer(0); BSP_LCD_SetLayerVisible(0, DISABLE); BSP_LCD_SelectLayer(1); BSP_LCD_SetLayerVisible(1, ENABLE); } } 如果不能够同时显示2层的话,那么设置2层也没有什么意义,到时还是把它设置为一次好了 |
|
|
|
您的存储单元少了吧。800X1280=1.024MB,如果是24位色,再X3=3MB了,第二层就开不了了。可以减少颜色深度,或减少分辨率。如果将颜色深度减到565=16位色,4MB正好够2层的。试试看
|
|
|
|
HELLOKITTYNEW 发表于 2018-11-30 16:03 你好,我的内存分配 第一层分配了4MByte的,800*1280*4 = 4096000BYte < 4096MByte 第二层分配了4MByte的,800*1280*4 = 4096000BYte < 4096MByte 我总共给 LTDC 分配了 8MByte的存储空间啊,按照上面的存储空间来看的话,应该是足够的啊, 那怎么还是不能够同时显示2层啊 ??? |
|
|
|
您可以先试试看减少颜色深度,这是最简单的测试方法。不要太较真,想想是吗?测试如果成功了再做下一步讨论处理 |
|
|
|
你好,请问 设置为 565格式,外部sdram 每层分配 了16MByte,结果还是不行, 开启2层后,选择第一层,那么清贫函数没有反应, 选择第二层,那么清贫函数也还是没有反应, |
|
|
|
我没有你那样的开发板,针对具体的开发板无法提出更多的建议。我只是听了STM在北京开的GUI课程,和以前玩各种TFT LCD的经验提出的意见。清屏无果,就是清除显存地址区域不对;有些显屏驱动带有一条指令清除屏幕的,好像这款也带,您可以试试这条指令;还有,769i支持一层多个显存区域对应,如果你能正确切换区域,那么切换后或切换前该清除那里就清楚了。很多东西,光靠听是不行的。控制LCD除了初始化之外,最最中国要的就是向显存里面填充东西和控制LCD要显示那块区域,如果这个弄明白了,如何一款LCD都可以玩转了。可以按照上述说的试试吧。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
702 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1099 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1573 浏览 1 评论
532 浏览 0 评论
1065 浏览 0 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-8 16:33 , Processed in 0.799963 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号