基于Windows CE.NET实现蓝牙通讯模块的几种方法

2011-05-29 22:27:38来源: 互联网 关键字:蓝牙Windows  mobile  P/Invoke  托管码  本机码

0 引 言
    自1998年,世界九大电子产业巨头共同发起蓝牙特殊利益集团SIG后,在短短不到十年之内,蓝牙技术已经被应用到如信息家电、电子商务、汽车、航空、医 疗、交通等多个领域。在移动计算方面,蓝牙技术采用了一种极为经济的形式解决了无线通讯“最后10m”的问题,从而替代了各种移动信息电子设备之间的电 缆。因此,蓝牙技术在移动计算领域的应用将十分广阔,它的应用开发也就有很大的实际意义。
    微软公司从1996年起开发了嵌入式操作系统Windows CE 1.0开始,凭借着其在PC市场上的成功经验和Windows CE类似于PC机上操作系统的作者简介:白 炜(1980-),男,硕士研究生,研究方向为嵌入式系统。
导师简介:白万民,教授,研究方向为嵌入式系统、计算机应用。
     友好熟悉的界面逐渐扩大着自己在嵌入式操作系统市场的份额。Windowsmobile平台是微软公司针对嵌入式环境下开发的一套嵌入式操作系统,其主要 是指Windows CE.NET,Windows CE.NET的最新版本为Windows CE 5.0,其中包括3个版本:以数据为中心的掌上电脑 Pocket PC;以语音为中心的智能手机Smart Phone;以娱乐为中心的便携式媒体中心Portable Media Centers。而在 这3个版本中都可能涉及到蓝牙应用的开发。
     在Windows CE.NET的开发上,目前采用微软公司2005年年底推出的Visual Studio 2005是最理想的选择。用 Visual Studio 2005可以进行利用C#,或VB.NET等语言开发基于.NET Compact Framework 2.0或1.0的 托管码WinCE程序,也可以利用C++语言来开发基于MFC,ATL或Win32API的本机码WinCE程序。
     因为在微软最新的.NET Compact Framework 2.0的类库中还未包含针对蓝牙通讯模块的类库,而且目前关于在Windows CE中开发蓝牙通讯模块应用程序的介绍还很少,同时开发蓝牙通讯技术的应用需要十分广泛,所以本文将就此进行一些讨论。
1 基于托管码开发蓝牙通讯模块
     基于托管码的开发就是使用一套运行时环境(run-time environment)的应用程序接口来开发。
一般情况下,托管码应用程序的开发会比较简单和快速,并且可跨软件平台和处理器来运行,所以开发出的托管码也能重新使用并有较高的可移植性。
另外,内存管理、资源管理、资源收集、安全性管理等琐碎工作都由运行时环境来处理。应用程序开发工程师不必费心处理。托管应用程序在目标机器上运行,是通过目标机器端的实时编译器来实时把托管码编译成目标机器码后在目标机器上执行。
由于在.NET平台下,采用CLR(公共语言运行时)可以用不同的语言来调用.NET Compact Framework来开发相同功能的应用程序,所以本文托管码部分仅采用C#语言为例来介绍蓝牙通讯模块开发。
1.1 利用P/Invoke方法编写蓝牙通讯模块
    蓝牙通讯模块是一个涉及到驱动硬件的应用程序开发,而.NET Compact Framework并不是一个对Win32API进行了完整封装的类库。 所以在基于托管码开发蓝牙通讯模块中必须利用到托管代码如何与非托管代码交互技术。P/Invoke全称为Platform Invoke,是.NET开 发平台下允许托管代码调用DLL库的本地代码函数的服务,类似于JA-VA中的GNI的概念。图1说明了P/Invoke方法的工作原理。首先用相应语言 的编译器将托管的源代码编译成Assembly的形式,其中包括元数据和中间语言代码。而此时P/Invoke的声明会以元数据的形式存在于 Assembly中,当Assembly被CLR调用的时候,CLR会根据元数据的声明在对应的DLL函数中查找DLL的实现。如果找到,就将其加载到内 存中,并定位此DLL函数的人口点。将托管的参数人栈,并将函数的人口点指向对应的native dll,从而完成了托管代码调用非托管代码的DLL。

[1] [2] [3]

关键字:蓝牙Windows  mobile  P/Invoke  托管码  本机码

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/wltx/2011/0529/article_5947.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:一种生理监测的蓝牙智能服饰系统设计
下一篇:基于DSP与FPGA的蓝牙数据采集系统设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
蓝牙Windows
mobile
P/Invoke
托管码
本机码

小广播

独家专题更多

2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved