网站大量收购独家精品文档,联系QQ:2885784924

实验二 电子画板.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 电子画板.doc

院 系:计 算 机 学 院 实验课程:μC/OS-Ⅱ 实验项目:实验二 电子画板 指导老师:谭琦 开课时间:2011 ~ 2012年度第 2学期 专 业:嵌入式 班 级:09级 4 班 学 生:陈世文 学 号:20092102014 华南师范大学教务处 实验二 电子画板 一、实验目的 1.进一步了解触摸屏的工作原理。 2.学习在uCOS-II操作系统下对触摸屏的编程。 3.进一步熟悉绘图API,图形控件,消息循环等内容。 4.掌握将程序通过ARM7TDMI的JTAG仿真器下载到ARM开发平台上运行的操作。 二、实验内容 在液晶屏上设置四个按钮控件,表示四种画板功能:画直线、画圆、画任意折线以及清除图形。在触摸屏上单击一个按钮后,即可以开始在触摸屏上画图或清除原来的图形,并结合实验一,在电子画板的基础上,让实验一的两个任务切换显示在ARM开发平台的显示屏上。 三、预备知识 1、用ARM SDT 2.5或ADS1.2集成开发环境,编写和调试程序的基本过程。 2、基于uCOS-II操作系统的应用程序的框架结构。 3、触摸屏的驱动程序原理。 4、系统消息循环、图形API函数以及控件的使用。 四、实验设备及工具 硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。 软件:PC机操作系统win98、Win2000或WinXP、ARM SDT 2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。 五、实验步骤 1、新建工程,将“Exp22模拟电子画板”中的文件加入工程。 2、打开main.c文件,编辑Main_Task任务中的代码。定义控件及绘图的矩形区域,创建按钮控件并显示每个按钮代表的功能。启动消息循环,响应触摸屏消息。程序流程图如图5-3所示。 提示: 1)用CreateButton()函数创建按钮控件,其参数Caption即要在该按钮上显示的文字。这里同样需要事先指定每个控件的ID,为每个控件的矩形结构赋值,并将ASCII字符串转为Unicode字符串。 2)触摸屏消息的类型pMsg-Message为OSM_TOUCH_SCREEN,参数pMsg-WParam中包含坐标信息,用下面的语句获得(x,y)坐标值: Touch_Position.x=pMsg-WParam0xffff; Touch_Position.y=pMsg-WParam16; 3)用IsInRect()函数判断某个触摸点坐标是否在一个矩形区域内,例如: IsInRect2(pLine_Button_RECT, pTouch_Position); 判断pTouch_Position坐标值是否在画线按钮pLine_Button_RECT的矩形区域内。 4)触摸屏消息参数pMsg-LParam为触摸屏动作,定义如下: #define TCHSCR_ACTION_CLICK 1 //触摸屏单击 #define TCHSCR_ACTION_DBCLICK 2 //触摸屏双击 #define TCHSCR_ACTION_DOWN 3 //触摸屏按下 #define TCHSCR_ACTION_UP 4 //触摸屏抬起 #define TCHSCR_ACTION_MOVE 5 //触摸屏移动 在画直线功能中,第1次单击绘图区域时,触摸屏动作为TCHSCR_ACTION_CLICK,用MoveTo()函数设定直线起点;第2次单击时用LineTo()函数绘制直线。程序中用Line_State作为直线起点和终点的状态标志。 在画圆功能中,第一次单击绘图区域时,触摸屏动作为TCHSCR_ACTION_CLICK,记录该触摸点坐标为圆心坐标;第2次单击时用Circle()函数画圆。程序中用Circle_State作为圆心和圆周的状态标志。用下面的语句求得圆的半径: r=sqrt((x0-Touch_Position.x)*(x0-Touch_Position.x)+(y0-Touch_Position.y)*(y0-Touch_Position.y)); 5)在画折线功能中,触摸屏动作为TCHSCR_ACTION_DOWN时用MoveTo()函数设置线段起始点;动作为TCHSCR_ACTION_MOVE时用LineTo()函数绘制线段。LineTo()函数执行完毕后绘图当前点自动转移到线段的终点。 6)系统的按钮控件本身也能对按钮上的触摸屏消息作出处理,会随着TCHSCR_ACTION_UP或TCHSCR_ACTION_DOWN动作绘制动态的按钮图形。并会在TCHSCR_ACTION_UP之后发出如下

文档评论(0)

zhiminwei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档