- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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之后发出如下
您可能关注的文档
- 水生生物增殖放流技术规程.doc
- 汉钟电子刊2010第六期.pdf
- 江西油茶产业发展规划(2011-2020).doc
- 江西省三县部分高中2014届高三学期期中联合考试(理科综合含答案,pdf版).pdf
- 江西省农产品冷链物流发展现状与对策研究.pdf
- 汽修专业发动机渗漏检修毕业论文设计96835.doc
- 汽修专业发动机渗漏检修毕业论文设计97044.doc
- 汽车专业毕业论文王兴东.doc
- 汽车冷却系的设计计算方法研究.pdf
- 汽车冷却系统如何清洗与保养.ppt
- 2025年全国爱国卫生月活动总结(28篇).docx
- 2025年公交驾驶员年终总结(6篇).docx
- 2025年公司年度行政工作计划(31篇).docx
- 知到智慧树网课:C语言编程新思路(山东理工大学)章节测试满分答案.pdf
- 《毛泽东思想和中国特色社会主义理论体系概论》专题测试参考答案.docx
- 知到智慧树网课:C语言编程方法与思想(北京航空航天大学)章节测试满分答案.docx
- 知到智慧树网课:大学英语课程思政(哈工)章节测试满分答案.docx
- 2025年二级建造师法规章节精编习题库.pdf
- 2025年二级建造师法规章节精编习题库.doc
- 2025年北京市三类人员安全员c3证考试题库及答案.doc
文档评论(0)