硬汉嵌入式论坛

 找回密码
 立即注册
查看: 12995|回复: 25
收起左侧

[emWin] STM32F429驱动7寸屏多层显示的问题

[复制链接]

11

主题

59

回帖

11

积分

初级会员

积分
11
发表于 2014-1-11 18:28:36 | 显示全部楼层 |阅读模式
1.jpg 2.jpg

配置成2层显示的时候,一旦循环调用GUI_Exec();就成上面那样了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115728
QQ
发表于 2014-1-11 19:42:11 | 显示全部楼层
F429的多层显示还没有弄过,你得参考下emWin手册上面对多层显示的说明,好像刷新需要指定相应的层。
回复

使用道具 举报

11

主题

59

回帖

11

积分

初级会员

积分
11
 楼主| 发表于 2014-1-14 20:58:53 | 显示全部楼层
1.jpg
跟踪了一下发现这个函数有问题,用层1和层2调用这个的时候传进去的xSize不一样
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115728
QQ
发表于 2014-1-15 09:02:14 | 显示全部楼层

回 magusss 的帖子

magusss:
跟踪了一下发现这个函数有问题,用层1和层2调用这个的时候传进去的xSize不一样 (2014-01-14 20:58) 
有机会我也研究下,最近在忙V5板子的教程。
回复

使用道具 举报

11

主题

59

回帖

11

积分

初级会员

积分
11
 楼主| 发表于 2014-1-15 21:46:19 | 显示全部楼层
这个问题解决了,不是emwin的问题,是液晶时序配置的问题。
我的时序配置是这样的,液晶屏是AT070TN92。

  /* Configure PLLSAI prescalers for LCD */
  /* Enable Pixel Clock */
  /* PLLSAI_VCO Input = HSE_VALUE/PLL_M = 1 Mhz */
  /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAI_N = 192 Mhz */
  /* PLLLCDCLK = PLLSAI_VCO Output/PLLSAI_R = 192/3 = 64 Mhz */
  /* LTDC clock frequency = PLLLCDCLK / RCC_PLLSAIDivR = 64/4 = 16 Mhz */
  RCC_PLLSAIConfig(192, 7, 3);
  RCC_LTDCCLKDivConfig(RCC_PLLSAIDivR_Div4);
  
  /* Enable PLLSAI Clock */
  RCC_PLLSAICmd(ENABLE);


  /* Configure horizontal synchronization width */     
  LTDC_InitStruct.LTDC_HorizontalSync = 29;
  /* Configure vertical synchronization height */
  LTDC_InitStruct.LTDC_VerticalSync = 19;
  /* Configure accumulated horizontal back porch */
  LTDC_InitStruct.LTDC_AccumulatedHBP = 45;
  /* Configure accumulated vertical back porch */
  LTDC_InitStruct.LTDC_AccumulatedVBP = 22;  
  /* Configure accumulated active width */  
  LTDC_InitStruct.LTDC_AccumulatedActiveW = 845;
  /* Configure accumulated active height */
  LTDC_InitStruct.LTDC_AccumulatedActiveH = 502;
  /* Configure total width */
  LTDC_InitStruct.LTDC_TotalWidth = 1055;
  /* Configure total height */
  LTDC_InitStruct.LTDC_TotalHeigh = 524;
  
  LTDC_Init(&LTDC_InitStruct);

两层全开,如果DCLK频率大于22MHz就会出现屏幕不稳定。
如果STM32F429只开一个层显示,DCLK配置成32MHz也不会出问题。
回复

使用道具 举报

11

主题

59

回帖

11

积分

初级会员

积分
11
 楼主| 发表于 2014-1-18 09:38:20 | 显示全部楼层
我猜测可能是由于SDRAM带宽不够造成的这种现象,刷新液晶屏需要从SDRAM读取数据,2层就需要读取2倍的数据量,再加上屏幕变大时钟就要提高,同时还要在进行绘图操作等。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115728
QQ
发表于 2014-1-18 10:05:06 | 显示全部楼层
谢谢提供的信息
回复

使用道具 举报

0

主题

22

回帖

0

积分

新手上路

积分
0
发表于 2014-2-12 10:00:55 | 显示全部楼层
双层显示时,底层配置是什么样的?有特别的地方吗?
回复

使用道具 举报

0

主题

7

回帖

0

积分

新手上路

潇洒少年游

积分
0
发表于 2014-5-28 13:01:32 | 显示全部楼层

回 magusss 的帖子

magusss:这个问题解决了,不是emwin的问题,是液晶时序配置的问题。
我的时序配置是这样的,液晶屏是AT070TN92。

  /* Configure PLLSAI prescalers for LCD */
  /* Enable Pixel Clock */
....... (2014-01-15 21:46) 
我用的也是这个屏,可是我的触摸校对时,沿着X轴划,光标是斜着走的---lz可有经验请教一下
潇洒少年游
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2014-7-14 11:10:14 | 显示全部楼层
我也正在使用这个 比较迷茫  用DMA2D 方式 有点点模糊
回复

使用道具 举报

11

主题

59

回帖

11

积分

初级会员

积分
11
 楼主| 发表于 2014-7-16 13:16:24 | 显示全部楼层

回 abcdotaabc 的帖子

abcdotaabc:我也正在使用这个 比较迷茫  用DMA2D 方式 有点点模糊 (2014-07-14 11:10) 
DMA2D和其它DMA基本都是一样的
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2014-7-17 14:30:08 | 显示全部楼层

回 magusss 的帖子

magusss:DMA2D和其它DMA基本都是一样的 (2014-07-16 13:16) 
我现在停留在底层移植上,你双层用的是GUIDRV_LIN_24 和GUICC_888 吗?需要添加BSP_LCD_DrawBitmap24bpp吗
回复

使用道具 举报

11

主题

59

回帖

11

积分

初级会员

积分
11
 楼主| 发表于 2014-7-18 15:32:20 | 显示全部楼层
RGB565和ARGB1555, GUIDRV_LIN_16
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2014-7-21 08:57:05 | 显示全部楼层
16位接口?
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2014-7-24 10:48:19 | 显示全部楼层
目前我使用了双层buff  ,能画基本的点,线,但是如何移植STEMWIN 上去是个问题,如何用DMA2D配合?
回复

使用道具 举报

11

主题

59

回帖

11

积分

初级会员

积分
11
 楼主| 发表于 2014-7-24 16:28:46 | 显示全部楼层
官方有例程提供的
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2014-7-31 09:10:31 | 显示全部楼层
我看了官方的DEMO  里面有多层 多缓冲 中断回调 层次 架构上还是不理解如何做的
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2014-8-2 11:41:43 | 显示全部楼层
楼主7寸能显示2层吗?  我配置成2层就会出现乱显示了
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2014-8-2 11:44:01 | 显示全部楼层
好像你这个情况 跟我一样哈  这么说来429 双层不能开800X400个点的
回复

使用道具 举报

11

主题

59

回帖

11

积分

初级会员

积分
11
 楼主| 发表于 2014-8-2 12:57:31 | 显示全部楼层
内存带宽不够,把LCD的频率降下来就好了
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2014-8-5 15:59:20 | 显示全部楼层
频率下来 就会出现水波纹
回复

使用道具 举报

13

主题

87

回帖

126

积分

初级会员

积分
126
发表于 2014-8-5 16:06:09 | 显示全部楼层
你使用了emwin 多缓冲机制吗?
回复

使用道具 举报

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2016-4-5 21:08:57 | 显示全部楼层
能把代码给我看看么
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115728
QQ
发表于 2016-4-6 00:47:13 | 显示全部楼层

回 remind87 的帖子

remind87:能把代码给我看看么
 (2016-04-05 21:08) 
楼主已经快一年没有来过论坛了。
回复

使用道具 举报

0

主题

2

回帖

0

积分

新手上路

积分
0
发表于 2016-12-23 17:20:07 | 显示全部楼层
各位大神,有谁用STM32F429驱动过1024*600的7寸屏吗?现实总是有问题?
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-14 15:44 , Processed in 0.808000 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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