搜索
bottom↓
回复: 24

问下 正点原子TFT enwin的一些百思不得其解的地方

[复制链接]

出0入22汤圆

发表于 2016-1-13 21:45:37 | 显示全部楼层 |阅读模式
好不容易把256Mbit的SDRAM驱动成功。


TFT的驱动真把我难住了。具体都是参考正点原子的例程做的。
目前 TFT显示屏什么都没有,只有一个像老式电视机没信号时,一个水平方向上下滚动的白条。


硬件是中华的7寸屏,1024*600.RGB888模式,MODE=HSD/VSD mode
初始化是这样的
/*初始化LCD emWin */ /* Init the STemWin GUI Library */
  if(GUI_Init()!=0) BSP_Hardw_FStu |= BSP_GUI;  

自己修改了BSP_LCD.C中的相关参数,绝对没有修改其他的。

#if LCD_NUM_LAYERS == 1
  GUI_SetColor(DTCOLOR);
  GUI_FillRect(0,0,800-1,480-1);
  //GUI_Delay(10);  
#elif LCD_NUM_LAYERS == 2  

  GUI_SelectLayer(0);
  GUI_SetColor(DTCOLOR);  
  GUI_FillRect(0,0,800-1,480-1);
  GUI_Delay(50);  
  
  GUI_SelectLayer(1);
  GUI_SetColor(DTCOLOR);
  GUI_FillRect(0,0,800-1,480-1);
  GUI_Delay(50);
  
  LCD_BL_ON();
  GUI_SetColor(GUI_WHITE);
  GUI_SetFont(GUI_FONT_32B_ASCII);
  GUI_DispStringHCenterAt("Starting...\nWait a moment",400,100);
  GUI_Delay(50);
  /* Setup layer configuration during startup */
  GUI_SelectLayer(0);
// GUI_JPEG_DrawScaled(&_acDesktop,79238UL + 1,0,0,100,100);
  GUI_Delay(100);
#endif
  GUI_SelectLayer(1);
  GUI_SetBkColor(GUI_TRANSPARENT);
  GUI_Clear();
  
  GUI_MULTIBUF_End();

随便抄的一小段代码。

疑问:
既然原子的硬件是RGB888为什么有下面几条语句。
  if(Pixelformat==0)
   LTDC_Layer_InitStruct.LTDC_PixelFormat = LTDC_Pixelformat_RGB565;
  else
   LTDC_Layer_InitStruct.LTDC_PixelFormat = LTDC_Pixelformat_ARGB1555;

#define COLOR_MODE_1      _CM_ARGB1555

#if   LCD_NUM_LAYERS == 1
  #define COLOR_MODE_0      _CM_ARGB1555
#elif LCD_NUM_LAYERS == 2
  #define COLOR_MODE_0      _CM_RGB565
#endif

、、==========================================
个人感觉这个函数是很重要的,可是整个程序没有一个地方有调用这个函数。
void LCD_LayerInit(uint8_t Pixelformat)


//=====================================
TFT是中华的CLAP070NJ02CW  找对应的驱动和硬件接口图。万分感谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。

如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》

出0入22汤圆

 楼主| 发表于 2016-1-14 08:37:27 | 显示全部楼层
顺便问下  DE mode 和HSD/VSD 有什么区别。应该选择哪种方式。

出0入22汤圆

 楼主| 发表于 2016-1-14 12:21:34 | 显示全部楼层
20160114_104056.jpg




好像不支持1024*800.
强制更换分辨率为800*600.

就变成这样的了

出130入20汤圆

发表于 2016-1-14 12:25:56 | 显示全部楼层
硬件是支持888不代表你软件配置后输出就是888,24位888太浪费了,一般用565就足以,正好一个像素16bit,一般的sdRam也正好是16bit 的

出130入20汤圆

发表于 2016-1-14 12:26:37 | 显示全部楼层
显示不正常,看看屏的规格书,各个信号的极性已经上升或下降沿的延时是否配置正确。

出130入20汤圆

发表于 2016-1-14 12:27:46 | 显示全部楼层
DE模式就是只有DE引脚使能数据,而不是通过Hsync Vsync来行列同步,现在的屏基本都用de模式了

出0入22汤圆

 楼主| 发表于 2016-1-14 14:19:23 | 显示全部楼层
shuiluo2 发表于 2016-1-14 12:27
DE模式就是只有DE引脚使能数据,而不是通过Hsync Vsync来行列同步,现在的屏基本都用de模式了 ...

DE模式 用什么来表示发送的数据地址。

出0入0汤圆

发表于 2016-1-14 15:40:12 | 显示全部楼层
我之前遇到初始化各方面都是正确的不显示,是因为硬件上屏的RESET时间比较长,导致屏IC供电正常时,软件已经初始化完了。把供电改一下就好了。

出130入20汤圆

发表于 2016-1-14 15:51:34 | 显示全部楼层
lixin91985 发表于 2016-1-14 14:19
DE模式 用什么来表示发送的数据地址。

DE模式是给屏的时序,DE使能后是从第一个点到最后一个点的数据依次填进去,看屏规格书的时序图

出0入0汤圆

发表于 2016-1-14 15:54:28 | 显示全部楼层
测量驱动电压 读驱动芯片寄存器看看

出0入0汤圆

发表于 2016-1-14 17:39:45 | 显示全部楼层
这是1788吗?这么大个

出0入22汤圆

 楼主| 发表于 2016-1-14 17:56:22 | 显示全部楼层
7802848 发表于 2016-1-14 15:54
测量驱动电压 读驱动芯片寄存器看看

VSD/HSD 是裸屏  所以没有寄存器的。


出0入22汤圆

 楼主| 发表于 2016-1-14 17:58:28 | 显示全部楼层
LQS1200 发表于 2016-1-14 17:39
这是1788吗?这么大个

STM32F429IIT6


//-------------------------------------------
我发现V、H CLK DE 都有电平,可是所有的数据引脚都没有输出数据。看到是DMA哪里出问题了。。


换了一个群创的800*480的屏也是一样。真心郁闷中。


可能是参考正点原子的程序,不能用于裸屏。

出0入22汤圆

 楼主| 发表于 2016-1-14 17:59:12 | 显示全部楼层
shuiluo2 发表于 2016-1-14 15:51
DE模式是给屏的时序,DE使能后是从第一个点到最后一个点的数据依次填进去,看屏规格书的时序图 ...

那么STM32 的LTDC是DE模式还是VH模式

出0入0汤圆

发表于 2016-1-15 01:00:36 来自手机 | 显示全部楼层
原子的使用的是带控制器的液晶屏,所以有一大堆命令,而429自带控制器,所以代码不通用。

出0入22汤圆

 楼主| 发表于 2016-1-15 11:16:44 | 显示全部楼层
湛无双 发表于 2016-1-15 01:00
原子的使用的是带控制器的液晶屏,所以有一大堆命令,而429自带控制器,所以代码不通用。 ...

我用示波器发现  VSYNC HSYNC 都有波形,
就是data线全都是空的。没有数据。


想找个参考例程。。。

出0入0汤圆

发表于 2016-1-15 12:13:06 | 显示全部楼层
本帖最后由 wofei3344 于 2016-1-15 12:14 编辑

F429IGT6_565.rar (14.19 MB)

出0入22汤圆

 楼主| 发表于 2016-1-15 21:10:27 | 显示全部楼层
wofei3344 发表于 2016-1-15 12:13
给你个我用的,裸机的,代码写的比较乱,仅供参考,

RGB565格式,800*480分辨率,使用了SDRAM.... ...

多谢 我已经驱动 能够显示颜色,但是不能够显示 文字什么的。也就是背景色是可以正常显示了。lay1 lay2 不能正常显示。
20160115_210452.jpg

出0入0汤圆

发表于 2016-1-16 09:14:53 | 显示全部楼层
lixin91985 发表于 2016-1-14 12:21
好像不支持1024*800.
强制更换分辨率为800*600.

这像是装在什么样机上的板子

出0入0汤圆

发表于 2016-1-16 09:59:54 | 显示全部楼层
lixin91985 发表于 2016-1-15 21:10
多谢 我已经驱动 能够显示颜色,但是不能够显示 文字什么的。也就是背景色是可以正常显示了。lay1 lay2  ...

layer1、2,可能没配置好,另外,这个需要SDRAM,你有吗?

一般显示不正常是你SDRAM或者SRAM没配置好

出0入0汤圆

发表于 2016-1-16 10:05:23 | 显示全部楼层
你可以看看野火的例程,他们不是出了429的板子

出0入22汤圆

 楼主| 发表于 2016-1-16 12:04:52 | 显示全部楼层
wofei3344 发表于 2016-1-16 09:59
layer1、2,可能没配置好,另外,这个需要SDRAM,你有吗?

一般显示不正常是你SDRAM或者SRAM没配置好 ...

外部有32M的SDRAM 。

用程序测试  整体读取写入没有任何错误。


感觉不是SDRAM的问题。因为背景色的显示是比较完美的,应该是绘图的过程哪里出问题了。但是真心找不到问题。


原子的屏是带有一个驱动IC 的。不是裸屏。

出0入0汤圆

发表于 2016-1-16 17:26:37 | 显示全部楼层
原子的是带控制器的,不是RGB

出0入0汤圆

发表于 2016-1-18 22:04:32 | 显示全部楼层
lixin91985 发表于 2016-1-16 12:04
外部有32M的SDRAM 。

用程序测试  整体读取写入没有任何错误。

我用的是裸屏的,配置层的时候需要给一个地址作为显存地址,个人建议你,1、检查这个地址;2、检查你给的显示内容的值是否正确...
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-28 23:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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