OpenEdv-开源电子网

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

F4:SSD1963移植STemWin 光标拖影等问题

[复制链接]

4

主题

16

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-8-29
在线时间
12 小时
发表于 2016-11-24 23:12:23 | 显示全部楼层 |阅读模式
20金钱

新人没钱啊啊啊啊
最近在尝试,用SSD1963移植STemWIN,买回来才发现网上对SSD1963一致差评。。。。也只能硬着头皮上了。

因为STemWIn自带SSD1963驱动,所以直接使用了自带驱动,而没有用自定义驱动(尝试了一下,自定义驱动速度很慢。两者差距不是一般的大。。)
[mw_shl_code=c,true]
  GUI_DEVICE * pDevice;
  CONFIG_FLEXCOLOR Config = {0};
  GUI_PORT_API PortAPI = {0};
  //
  // Set display driver and color conversion
  pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_M565, 0, 0);

  LCD_SetSizeEx (0, t_lcddev.width , t_lcddev.height );
  LCD_SetVSizeEx(0, t_lcddev.width , t_lcddev.height );

  if(t_lcddev.id == 0x1963)
  {
      if (t_lcddev.dir == 0) //竖屏
      {
        GUI_TOUCH_SetOrientation(GUI_SWAP_XY | GUI_MIRROR_Y);
        GUI_TOUCH_Calibrate(GUI_COORD_X, 0,  800 , 0, 799);
        GUI_TOUCH_Calibrate(GUI_COORD_Y, 0,  480 , 0, 479);
      } else //横屏
      {
        GUI_TOUCH_Calibrate(GUI_COORD_X, 0,  800 , 0, 799);
        GUI_TOUCH_Calibrate(GUI_COORD_Y, 0,  480 , 0, 479);
      }
  }
  else if (t_lcddev.id == 0x9341)
  {
    if (t_lcddev.dir == 0) //竖屏
    {
      GUI_TOUCH_Calibrate(GUI_COORD_X, 0, 240, TOUCH_AD_LEFT, TOUCH_AD_RIGHT);
      GUI_TOUCH_Calibrate(GUI_COORD_Y, 0, 320, TOUCH_AD_TOP, TOUCH_AD_BOTTOM);
    } else //横屏
    {
      GUI_TOUCH_SetOrientation(/*GUI_SWAP_XY |*/ GUI_MIRROR_Y);
      GUI_TOUCH_Calibrate(GUI_COORD_X, 0,  800 , TOUCH_AD_LEFT, TOUCH_AD_RIGHT);
      GUI_TOUCH_Calibrate(GUI_COORD_Y, 0,  480 , TOUCH_AD_TOP, TOUCH_AD_BOTTOM);
    }
  }
  // Orientation
  //
  Config.Orientation = 0 ;//GUI_SWAP_XY | GUI_MIRROR_Y;
  GUIDRV_FlexColor_Config(pDevice, &Config);
  //
  // Set controller and operation mode
  //
  PortAPI.pfWrite16_A0  = LcdWriteReg;
  PortAPI.pfWrite16_A1  = LcdWriteData;
  PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple;
  PortAPI.pfReadM16_A1  = LcdReadDataMultiple;
  GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66720, GUIDRV_FLEXCOLOR_M16C0B16);
[/mw_shl_code]

上面的LcdWriteReg    LcdWriteData  LcdWriteDataMultiple  LcdReadDataMultiple  几个函数直接调用原来的几个现成的寄存器操作的函数。
[mw_shl_code=applescript,true]void LcdWriteReg(u16 Data)
{
    WriteCmd_LCD(Data);
}
void LcdWriteData(u16 Data)
{
    WriteData_LCD(Data);
}
void LcdWriteDataMultiple(u16 * pData, int NumItems)
{
    while (NumItems--)
    {
        LcdWriteData(*pData++);
    }
}
void LcdReadDataMultiple(u16 * pData, int NumItems)
{
    while (NumItems--)
    {
        *pData++ = ReadData_LCD();
    }

}[/mw_shl_code]

结果发现光标拖影,实在是不爽,而且在第二个Demo处常常死掉(即使通过显示仍不正常)。不知道怎么解决。

(尝试了一下 ,用自定义的驱动就不会有这么严重的拖影,但还是会用一点。而且在第二个Demo处不会卡死。但问题是刷屏速度极慢。。)

这样就让人很不爽。

还有一个问题是,在按下时,光标会不断的像最左边或上最上边跳。或者跳到左上角。。。作为新人这些问题都不知道怎么办。。

求助大神!!@正点原子  @zuozhongkai  @八度空间








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

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-11-25 12:29:08 | 显示全部楼层
拖影是读点函数的问题
回复

使用道具 举报

4

主题

16

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-8-29
在线时间
12 小时
 楼主| 发表于 2016-11-25 12:59:36 | 显示全部楼层
八度空间 发表于 2016-11-25 12:29
拖影是读点函数的问题

但是如果用自带的驱动的话 ,要怎么办啊?
回复

使用道具 举报

4

主题

16

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-8-29
在线时间
12 小时
 楼主| 发表于 2016-11-25 13:02:01 | 显示全部楼层
不知道为什么,照片放不上去
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-11-26 00:49:05 | 显示全部楼层
可以参考下我们例程
回复

使用道具 举报

57

主题

358

帖子

0

精华

高级会员

Rank: 4

积分
981
金钱
981
注册时间
2014-9-29
在线时间
261 小时
发表于 2016-11-26 13:33:09 | 显示全部楼层
感觉好几款芯片都不能很流畅的跑完所有demo
回复

使用道具 举报

4

主题

16

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-8-29
在线时间
12 小时
 楼主| 发表于 2016-11-26 20:18:58 | 显示全部楼层
正点原子 发表于 2016-11-26 00:49
可以参考下我们例程

原子哥,例程看过了啊。就是仿照例程来的。但是例程用的是template自定义驱动。但是自定义驱动很慢。试了下自带驱动 发现速度还相对好点。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2016-11-27 11:09:30 | 显示全部楼层
GolDHu 发表于 2016-11-26 20:18
原子哥,例程看过了啊。就是仿照例程来的。但是例程用的是template自定义驱动。但是自定义驱动很慢。试了 ...

这个你可以根据你的需求自己优化。我们用起来还好。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1183
金钱
1183
注册时间
2015-5-28
在线时间
149 小时
发表于 2016-11-29 10:49:52 | 显示全部楼层
闪电之舞 发表于 2016-11-26 13:33
感觉好几款芯片都不能很流畅的跑完所有demo

emwin确实太耗内存了~SRAM成本又高,没有DRAM的话,如果涉及复杂的UI,我会选择可以运行qt的方案~
回复

使用道具 举报

6

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
249
金钱
249
注册时间
2015-10-7
在线时间
50 小时
发表于 2017-6-13 21:41:46 | 显示全部楼层
问题找到了吗?我也是这个问题。
回复

使用道具 举报

9

主题

45

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
234
金钱
234
注册时间
2014-8-13
在线时间
69 小时
发表于 2018-4-26 11:08:11 | 显示全部楼层
STemWIn自带SSD1963驱动?楼主可以请教一下怎么利用它的自带驱动么,我都是用自定义的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 09:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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