实验18 嵌入式 浙江理工大学1.doc
上传人:sy****28 上传时间:2024-09-15 格式:DOC 页数:9 大小:5.4MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

实验18 嵌入式 浙江理工大学1.doc

实验18嵌入式浙江理工大学1.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

任课教师:黄静指导老师:汪泓《嵌入式技术》(2011-2012学年第2学期)实验报告实验名称文本框控件的使用专业班级09通信(1)班学生姓名张雯婷学生学号Q09680111实验18文本框控件的使用实验目的学习文本框控件的使用。掌握以二进制模式打开并读取文件的方法。把一个二进制文件中的数据在文本框中显示出来。利用键盘消息,实现文本框内容的编辑。掌握如何将数据写入二进制文件。二、实验内容把一个二进制文件中的数值内容在文本框中显示出来,通过键盘编辑文本框,可以改变文本框的内容,并可以保存到文件,系统掉电以后,文件内容不丢失。预备知识1、用ARMSDT2.5或ADS1.2集成开发环境,编写和调试程序的基本过程。2、基于uCOS-II操作系统的应用程序的框架结构。3、会使用消息循环响应键盘消息。4、操作系统文件操作的基本过程。5、系统控件的相关知识。实验设备及工具硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上。软件:PC机操作系统win98、Win2000或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序、UltraEdit。实验原理文本框控件也是系统的一个基本控件,其结构定义如下:typedefstruct{U32CtrlType;//控件的类型U32CtrlID;//控件的IDstructRECTTextCtrlRect;//文本框的位置和大小structRECTClientRect;//客户区域U32FontSize;//文本框的字符大小U32style;//文本框的风格U8bVisible;//是否可见PWndparentWnd;//控件的父窗口指针U8(*CtrlMsgCallBk)(void*);//文本框控件的消息回调函数U8bIsEdit;//文本框是否处于编辑状态char*KeyTable;//文本框的字符映射表U16text[40];//文本框中的字符块}TextCtrl,*PTextCtrl对文本框控件的使用和列表框相似,这里可以使用CreateTextCtrl()函数来创建文本框控件,同样必须指定文本框的唯一ID。用SetTextCtrlText()函数即可将Unicode文本添加到文本框中,而GetTextCtrlText()函数用来获取文本框中字符串的指针。用AppendChar2TextCtrl()函数和TextCtrlDeleteChar()函数分别在文本框中追加一个字符或删除最后一个字符。也可以用SetTextCtrlEdit()函数设置文本框为编辑状态,使文本框可以响应键盘消息,通过键盘输入文字。请参考附录API函数系统控件部分,在Control.h中定义。六、实验步骤1、在PC机上使用UltraEdit创建一个二进制文件,文件长度为4个字节以上。实际上是要保存一个整型数值。把此文件复制到嵌入式开发平台的电子硬盘中。2、新建工程,将“Exp18文本框控件的使用”中的文件加入工程。3、打开Main.c文件,编辑Main_Task任务中的代码。编写LoadSysNumber()函数,在其中打开指定文件名的二进制文件,读取一个整型数到全局变量中。编写SaveSysNumber()函数用来把整型变量的值保存到该二进制文件中。编写键盘消息响应函数onKey(),处理回车键和取消键。编写CreateText()函数,在其中创建文本框,将所读取的整型数值转换为Unicode字符串后设置为文本框的内容。提示:1)使用OpenOSFile()函数以只读方式(FILEMODE_READ)打开二进制文件后可用ReadOSFile()函数读取若干字节到指定地址的缓存区。之后必须关闭文件。2)使用WriteOSFile()函数可以保存内存中缓冲区的数据到二进制文件。3)实际上文本框控件的消息处理函数已经对回车键和取消键作了处理,但这里根据需要在用户的键盘消息响应函数onKey()中依然可以对这两个按键处理,并且返回TRUE使得Main_Task任务中的消息循环不再把该消息传给控件本身。而其他键的键盘消息则由文本框控件本身处理,以能实现从键盘输入数字。实际上控件本身是使用TextCtrlDeleteChar()和AppendChar2TextCtrl()函数在文本框中删除和追加字符的。4)在onKey()中根据文本框是否处于编辑状态分别处理回车键,如果不在编辑状态则通过SetTextCtrlEdit()函数使其进入编辑状态,否则退出编辑状态并保存数据。SetTextCtrlEdit()函数