首页 > 范文大全 > 正文

PDA开发技术在数字水准仪手簿操控系统中的应用研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇PDA开发技术在数字水准仪手簿操控系统中的应用研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:是pda的最新操作系统,其程序开发环境已经由eVC3.0/eVB3.0变为eVC4.0和,和串口数据指令通信已经不再支MSComm CE 3.0控件,必须采用比效复杂但却功能灵活的API函数。本文在研究开发下PDA应用程序的基础上,以数字水准仪为例,实现了PDA和数字水准仪的串口数据通信、水准测量的自动化操控和野外使用PDA处理内业的数据处理功能。

关键词:,串口数据通信,PDA程序开发

中图分类号:E271文献标识码: A

一、概述:

PDA是英文Personal Digital Assistant的简称,也就是个人数字助理(俗称掌上电脑),各种类型的PDA,就是一个能帮忙我们高效完成日常杂事的小型电子设备。在测量行业,PDA的便携性和触摸屏操作的直观性很适合测量作业的外业记录、仪器操控和外业数据处理。我们熟悉的各测绘仪器厂家的操控手簿都莫不属于PDA家族。当今流行的PDA手机GPS导航系统正代表了我们测绘行业的新形象。

二、PDA操作系统及其开发工具

针对PDA上的软件开发也就是IT行业所谓的嵌入式开发,其最大的特点是开发要根据不同PDA的OS和其千差万别的硬件来进行量体裁衣的定制开发。3Com、IBM和Handspring等世界知名公司都开发或支持不同的PDA操作系统,Palm和Sybian等是早期广为流传的PDA操作系统,都有自己的Dev Kit(开发包),微软随后看到PDA的巨大市场潜力,迅速组织了自己强大的开发队伍并后来居上。微软的PDA操作系统Windows CE(简称WinCE),来势汹汹且阵容浩大,受到了康柏(Compaq)、卡西欧(Casio)和NEC等公司的青睐,其支持的硬件包括x86、MIPS和SH系列,使其很快成为当今PDA的主流。微软在PDA战略上采用一贯的边发展边市场化的特点,使WinCE的内核分别基于Windows CE 3.0和Windows (即4.0),版本号从3.0到6.0,逐步升级,不断完善,大家常见的Pocket PC 2002是基于WinCE 3.0的平台,Pocket PC 2003和Smart Phone 2003统称为Windows Mobile 2003是基于WinCE 4.0的。

其开发工具与其操作系统的版本是对应的,WinCE3.0对应的eVB3.0和eVC3.0,但是WinCE4.0就必须使用,eVB3.0开发的程序就不能够在WinCE4.0上运行,另外.net的DEV开发支持从Framework1.0到现在的Framework2.0,功能逐渐增加,开发人员须注意这一点,否则开发的程序可能因为版本或功能的原因无法在PDA上运行而走弯路。

清晰了平台与CE之间的关系,解释平台与开发工具之间的关系就很容易了。微软提供给应用程序开发者的开发工具与Windows CE的版本号对应的,其包括:Embedded Visual Tools 3.0,其中包括Embedded Visual C++ 3.0和Embedded Visual Basic 3.0;Embedded Visual C++ 4.0和Visual 。

用户在进行应用程序开发之前,必须完成以下工作:

1、安装PDA的随机附带光盘,完成ActiveSync环境的搭建工作,此时,用户只要将PDA通过USB口和计算机连接,双方将会自动建立连接,可以实现PDA和计算机的同步操作;2、安装Visual ,该软件还包含Standard SDK for 程序,一般选择完全安装;3、安装Pocket PC 2003 SDK软件包,并且必须安装微软提供的Pocket PC 2003模拟器补丁。

完成上述安装后,即可在Visual 新建一个开始程序。此时用户必须选择适合PDA型号的CPU类型,程序开始编译时,必须选择合适的CPU类型。为了方便调试,微软提供了应用程序的模拟器,此时必须选择PDA类型,在程序调试完成后,执行编译并上载到PDA。需要注意的是,模拟器无法完成串口通信等操作,需要真机调试。

三、Windows CE下API串口通信函数的实现

串口通讯接口比较常见,其标准R-232使用率很高,多数仪器仪表都留有串口接口,我们测量使用的数字水准仪、数字经纬仪、全站仪、GPS都使用或至少留有串口接口并支持R-232标准,所以仪器和PDA之间的通讯采用串口R-232程序,开发可以采用MS CE COMM 3.0通信控件也可以采用API函数实现和全站仪的串口通信。但是在Windows CE下对MSCE COMM3.0控件(串口通信控件)的支持受到CE版本的限制,通用性较差,使用API虽然比较麻烦,但其通用性很强,PAI可以说是跨平台的,大家可以比较一下VC和VB开发平台下的程序源码,会发现API代码几乎是一样的,CE 下开发API串口的通信函数如下。

1、以独占方式打开串口

HANDLE m_hComm

m_hComm = CreateFile(_T(“COM1:”),GENERIC_READ | GENERIC_WRITE,

0,NULL, OPEN_EXISTING, 0,NULL )

2、配置串口的波特率、奇偶校验和数据位等参数

DCB commParam

commParam.BaudRate = baud

commParam.fBinary = TRUE

commParam.fParity = TRUE 支持奇偶校验

commParam.Parity = NOPARITY 校验模式

commParam.fDtrControl = DTR_CONTROL_ENABLE DTR flow control type

commParam.fRtsControl = RTS_CONTROL_ENABLE RTS flow control

commParam.fAbortOnError = FALSE 当串口发生错误,并不终止串口读写

………..串口其他参数配置

SetCommState(m_hComm, &commParam)

3、读取串口数据

TCHAR buffer[800]

DWORD dwBytesRead=800

ReadFile(pFile,buffer,800,&dwBytesRead,NULL)

4、向串口写数据

CString strPoint

WriteFile(pFile,strPoint,2*strPoint.GetLength(),&BytesWrite,NULL)

5、关闭串口

BOOL bResult=CloseHandle(pFile)