OpenEdv-开源电子网

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

emWin5.22在STM32F407VGT6上移植成功,但是刷屏太慢了,屏幕一闪一闪的。

[复制链接]

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2013-10-10
在线时间
1 小时
发表于 2014-6-8 18:11:54 | 显示全部楼层 |阅读模式
5金钱
这几天借助论坛里某位大神的知道,STemWin移植成功了。没有用STemWin自带的液晶驱动,自己填的,就像移植UCGUI3.90一样。
这个是工程文件框架......这样移植的话,以后不管遇到什么控制器,就算emWin没有的型号都可以自己写了。


这个是移植成功后的画面


但是遇到一个比较坑爹的问题:就是屏刷的特慢,都看见闪了,郁闷的是我底层已经优化了.......

/*********************************************************************
*
*       _FillRect
*/
static void _FillRect(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1) 
{
    u16 leng,i,j;
leng = x1-x0+1;
    for(j=y0;j<=y1;j++)
    {
 LCD_SetCursor(x0,j);
 write_data_Prepare();
 for(i=0;i<leng;i++)
 LCD_RAM = LCD_COLORINDEX;
}
}

/*********************************************************************
*
*       _DrawHLine
*/
static void _DrawHLine(GUI_DEVICE * pDevice, int x0, int y, int x1) 
{
   u16 leng,i;
   leng = x1-x0+1;
   LCD_SetCursor(x0,y);
   write_data_Prepare();
   for(i=0;i<leng;i++)
   LCD_RAM = LCD_COLORINDEX;
}

/*********************************************************************
*
*       _DrawVLine, not optimized
*/
static void _DrawVLine(GUI_DEVICE * pDevice, int x, int y0, int y1) {
   u16 i;
   for(i=y0;i<y1;i++)
   {
 LCD_SetCursor(x,i);
 write_data_Prepare();
      LCD_RAM = LCD_COLORINDEX;
   }
}
这是3个比较重要的函数,都采用了LCD自加的方法画线。还有16BPP那个也优化了,可是以屏幕闪的还是特别厉害,貌似整个屏幕都在震动。不知道问什么.......
液晶控制器是SSD1963的。不知道那位大侠可以指点迷经....
哦对了顺带问下.....UCGUI官网的上的emWin更新到了5.24,我用KEIL5.10编译时候出错
..\Debug\test.axf: error: L6024U: Library GUI.lib contains an invalid member name.
具体我也不清楚...莫名奇妙.....

emWin移植.zip

4.77 MB, 下载次数: 13502

最佳答案

查看完整内容[请看2#楼]

回复【2楼】正点原子: --------------------------------- 原来LCD控制器的的毛病,用的是SSD1963,解决的,这控制器很容易收到干扰。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2013-10-10
在线时间
1 小时
 楼主| 发表于 2014-6-8 18:11:55 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原来LCD控制器的的毛病,用的是SSD1963,解决的,这控制器很容易收到干扰。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-6-8 22:44:15 | 显示全部楼层
是不是底层优化没做好?呵呵.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-12-2
在线时间
0 小时
发表于 2015-12-3 18:42:53 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
如何查看自己的LCD控制器类型?我的是V2的七寸屏
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-12-3 22:59:17 | 显示全部楼层
回复【4楼】曲振英:
---------------------------------
SSD1963
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2015-2-7
在线时间
8 小时
发表于 2015-12-30 17:55:39 | 显示全部楼层
楼主换了屏幕之后就好了吗? 我现在用stm32F407驱动320*240的屏,驱动芯片用的是SSD2119也遇到了这样的问题。请指教
回复

使用道具 举报

5

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
115
金钱
115
注册时间
2016-6-3
在线时间
25 小时
发表于 2016-7-13 08:46:56 | 显示全部楼层
【能接emWin的SPI串口屏】
GLCD功能类似于SPI串口屏,只是SPI接口通信更快速,以至能作为emWin(第三方界面软件库)的图形显示屏,弥补emWin使用字库/图片麻烦以及刷屏慢的缺点,这样emWin做界面就更精美、便捷!
emWin界面软件库是运行在用户CPU中的;GLCD负责储存字库和图片,以及接收由emWin发出的绘图指令,并且执行这些绘图指令以显示文字、图片、2D图形等,绘图指令代替像素操作可大大减轻用户CPU的负担;GLCD还管理触摸屏、鼠标、键盘、蜂鸣器、RTC时钟等外设。
更多介绍请看:www.neqee.com
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 21:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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