资料
  • 资料
  • 专题
M4Hanker开发板:uc/GUI的移植(加触摸功能+心得体会)
推荐星级:
时间:2019-12-20
大小:7.49MB
阅读数:166
上传用户:givh79_163.com
查看他发布的资源
下载次数
0
所需E币
4
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
要说uc /GUI的c文件,那叫一个多呀!为了方便编译,我利用IAR生成了静态连接库,uCGui_LM4F.a,这个和Ti官方库中的.a文件时一样的道理!M4 Hanker这款开发板的触摸功能是靠AD采样的得到X Y ,坐标,这与我以前使用的带有触摸芯片的触摸屏不同,而UC/GUI 的例程中大都是通过SPI读取触摸芯片的数字量来直接得到X Y的坐标的!幸好我在Core文件夹下面看到了GUI_TOUCH_DriverAnalog.c这样一个文件,从它的名字就可以看出,它和模拟量有关系!!进入函数里面我发现函数void GUI_TOUCH_Exec(void)是按键状态检测函数,于是我在其中添加了如下语句:{extern void TouchTrigger(void);TouchTrigger();}#else{ Get_Touch_XY(&xPhys,&yPhys); }#if !GUI_TOUCH_SWAP_XY /* Is X/Y swapped ? */x = xPhys;y = yPhys;#elsex = yPhys;y = xPhys;#endif这段程序是我在网上看到一位高手这样处理的!事实证明很有效!道理其实很简单,就是把通过AD采到并处的X Y替换通过SPI口读到的数字量X Y!其中TouchTrigger(void);为:void TouchTrigger(void){ADCProcessorTrigger(ADC0_BASE, 3);}AD0的通道3而Get_Touch_XY(&xPhys,&yPhys);则为:void Get_Touch_XY(int * x, int * y){if(isPENUP ==1){*x =*y =0;}else{*x = g_psSamples[g_cIndex];*y = g_psSamples[g_cIndex+1];}}看过这块板子的触摸驱动的同学应该猜到这两个函数所在的位置了吧!我把它们放在了touch.c里面了,Triton.zhang老大提供的触摸驱动库很棒,我只是在里面加了这两个函数,然后获取其处理的X Y的值,这样触摸部分就搞定了!然后我在上面跑了几个uc/GUI的小例子,本来想把他们做在一起,奈何考试临近,实在是没精力了,就等到有时间在搞吧!值得一提的是,我把触屏扫描的程序放在了void TickintHander(void){GUI_TOUCH_Exec();}跟人感觉更加灵敏一些!或者尝试加入定时器中断,更好的效果有待于验证!uC/OS+Uc/GUI的程序也调是一段时间,但是GUIDEMOmain()就是不执行下一步的显示!不知道是什么原因,等考试完了在继续搞吧!……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
PARTNER CONTENT
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书