OpenEdv-开源电子网

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

ucgui移植 触摸屏移植

[复制链接]

13

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
344
金钱
344
注册时间
2012-7-13
在线时间
83 小时
发表于 2012-9-25 07:34:36 | 显示全部楼层 |阅读模式
 各位大哥大姐,小弟刚刚学习移植ucgui,可是不会移植触摸屏,其他的都移植好了,恳求那位能详细的告知移植方法,还有能指点一下学习ucgui的方法吗,最好有ucgui的源码分析,万分感谢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-9-25 10:04:56 | 显示全部楼层
触摸屏移植可以参考下别人的代码。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

20

主题

562

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
670
金钱
670
注册时间
2012-2-28
在线时间
0 小时
发表于 2012-9-25 10:44:33 | 显示全部楼层
源码分析,这个十分有难度啊,光代码都有几M的东西,分析完估计你也看不完啊,可以百度视频一下  手把手教你在STM32上一直UCGUI,开水讲的,很不错
努力,前进。
回复 支持 反对

使用道具 举报

13

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
344
金钱
344
注册时间
2012-7-13
在线时间
83 小时
 楼主| 发表于 2012-9-26 10:28:17 | 显示全部楼层
不管怎样,感谢各位的热情回答
回复 支持 反对

使用道具 举报

2

主题

27

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2013-7-28
在线时间
1 小时
发表于 2013-9-23 10:55:05 | 显示全部楼层
回复【楼主位】菁菁木华:
---------------------------------
101度开水继推出 手把手教你在stm32上移植ucgui 之
后又推出了一套UCGUI视频教程 详细系统的分析了
UCGUI很好的帮助ucgui爱好者进行学习和开发
百度搜索101度开水ucgui视频教程即可
主要是分析源码的
http://ucgui.taobao.com/ 欢迎访问和搜藏万分感谢
回复 支持 反对

使用道具 举报

190

主题

401

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1290
金钱
1290
注册时间
2014-6-15
在线时间
144 小时
发表于 2014-8-2 23:16:36 | 显示全部楼层
回复【5楼】mcusxq:
---------------------------------
他的UCGUI移植有问题的,
你按照他移植的程序
测试下边这个函数试试

 
 
 void DemoShowColorBar(void) 
 {
   int x0 = 60, y0 = 40, yStep = 15, i;
   int xsize = LCD_GetDevCap(LCD_DEVCAP_XSIZE) - x0;
  GUI_SetFont(&GUI_Font8x16);
  #if (LCD_FIXEDPALETTE) 
     y0 = 66;
     yStep = 13;
     GUI_DispStringAt("Fixed palette: ", 0, 40);
     GUI_DispDecMin(LCD_FIXEDPALETTE);
  #endif
   GUI_DispStringAt("Red",     0, y0 +      yStep);
   GUI_DispStringAt("Green",   0, y0 +  3 * yStep);
   GUI_DispStringAt("Blue",    0, y0 +  5 * yStep);
   GUI_DispStringAt("Grey",    0, y0 +  6 * yStep);
   GUI_DispStringAt("Yellow",  0, y0 +  8 * yStep);
   GUI_DispStringAt("Cyan",    0, y0 + 10 * yStep);
   GUI_DispStringAt("Magenta", 0, y0 + 12 * yStep);
   for (i = 0; i < xsize; i++) {
     U16 cs = (255 * (U32)i) / xsize;
     U16 x = x0 + i;;
     /* Red */
     GUI_SetColor(cs);
     GUI_DrawVLine(x, y0             , y0 +     yStep - 1);
     GUI_SetColor(0xff + (255 - cs) * 0x10100L);
     GUI_DrawVLine(x, y0 +      yStep, y0 + 2 * yStep - 1);
     /* Green */
     GUI_SetColor(cs<<8);
     GUI_DrawVLine(x, y0 +  2 * yStep, y0 + 3 * yStep - 1);
     GUI_SetColor(0xff00 + (255 - cs) * 0x10001L);
     GUI_DrawVLine(x, y0 +  3 * yStep, y0 + 4 * yStep - 1);
     /* Blue */
     GUI_SetColor(cs * 0x10000L);
     GUI_DrawVLine(x, y0 +  4 * yStep, y0 + 5 * yStep - 1);
     GUI_SetColor(0xff0000 + (255 - cs) * 0x101L);
     GUI_DrawVLine(x, y0 +  5 * yStep, y0 + 6 * yStep - 1);
     /* Gray */
     GUI_SetColor((U32)cs * 0x10101L);
     GUI_DrawVLine(x, y0 +  6 * yStep, y0 + 7 * yStep - 1);
     /* Yellow */
     GUI_SetColor(cs * 0x101);
     GUI_DrawVLine(x, y0 +  7 * yStep, y0 + 8 * yStep - 1);
      GUI_SetColor(0xffff + (255 - cs) * 0x10000L);
     GUI_DrawVLine(x, y0 +  8 * yStep, y0 + 9 * yStep - 1);
     /* Cyan */
     GUI_SetColor(cs * 0x10100L);
     GUI_DrawVLine(x, y0 +  9 * yStep, y0 + 10 * yStep - 1);
      GUI_SetColor(0xffff00 + (255 - cs) * 0x1L);
     GUI_DrawVLine(x, y0 + 10 * yStep, y0 + 11 * yStep - 1);
     /* Magenta */
     GUI_SetColor(cs * 0x10001);
     GUI_DrawVLine(x, y0 + 11 * yStep, y0 + 12 * yStep - 1);
     GUI_SetColor(0xff00ff + (255 - cs) * 0x100L);
     GUI_DrawVLine(x, y0 + 12 * yStep, y0 + 13 * yStep - 1);
   }
 }


这个函数是显示色带的,但是101移植的 是一块黑色
回复 支持 反对

使用道具 举报

2

主题

27

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
212
金钱
212
注册时间
2013-7-28
在线时间
1 小时
发表于 2014-8-29 14:27:14 | 显示全部楼层
触屏移植的关键在于底层的驱动,
1 首先保证GUIcore的移植正常
2 硬件读取触屏AD值的操作正常
3 四个宏的测量,即x方向和Y方向上AD的极限值
4 相关宏的开启,支持触屏的宏 
5 相关函数的接口对接,主要在GUI_X_Touch.c中,这个可以下一个例程看看,函数很少,但是最好对AD值做个中值滤波
6 调整宏或四个AD值 ,现象主要是 触点可以捕获但是位置不对,最好开启光标,根据光标的移动来调整
7 GUI_TOUCH_Exec的定时调用或检测到触摸事件时调用。主函数中一定要添加GUI_Exec();


关于楼上的问题,多检查下移植,那个移植教程不会出现你的问题。
http://ucgui.taobao.com/ 欢迎访问和搜藏万分感谢
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-2 03:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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