设备的操作系统是Windows CE 5.0。本身附带有蓝牙模块和蓝牙通讯软件。但是我需要开发自己的蓝牙程序。
从Opennetcf下载并安装了它的1.4版,但在设备上运行附带的几个Demo程序都无法运行。
出现NullReferenceException或PlatformNotSupportedException错误,怀疑是蓝牙协议栈的问题。
因为Opennetcf声称只支持Microsoft的蓝牙协议栈。
查看设备\windows目录,只找到ws2.dll文件,没有btd.dll和btdrt.dll文件。我的问题如下:
1。这是否说明我的设备上没有使用Microsoft bluetooth protocol stack,而是使用了WidComm或IVT的蓝牙协议栈?
2。如果是WidComm的驱动,是否只能使用WidComm的SDK进行开发,而不能使用.NetCF?
3。如果我希望使用VS 2003或VS 2005开发,是否需要在设备上卸载WidComm的蓝牙驱动,安装MS的?
4。使用VS 2003或VS 2005开发Win CE 5.0下的应用程序,除了安装相应的.NetCF外,是否还需要安装Windows Mobile 5.0 SDK?
非常感谢!!
不太懂,
4、需要安装sdk
留个脚印,等待行家出手。
我原来在4.2系统上做过蓝牙传输的开发啊,根据我的情况给你说一下,希望能给你一些启发.
1.设备上要用Microsoft bluetooth protocol stack,PC上也要用这样的协议,xp上自带的,2003上不带,要自己设置一下(具体xp上设置可以参考inthehand.com里边有个说明文件,说的很详细~~2003的可以上网搜索一下,如果找不到,可以加我QQ:120707690,传给你,但是我手头没有2003系统,所以没有试,只是听说可以用~~)
2.WidComm的驱动这个驱动没有用过,好像这样的开发资料不是特别多~~
3.两个协议最好不要同时安装~~~可能不稳定吧~~
4.好像可以不用安装mobile5.0的SDK,wince5.0,vs2005自带的~~
你是有现成的蓝牙模块,还是要自己开发蓝牙呢?如果是蓝牙模块的话就很简单了,串口,USB或者SPI直接给模块发指令就可以,如果是自己开发蓝牙,就比较麻烦了。
估计你的设备本身没有用MS的协议栈,那样的话就没有办法用MS的那一套函数来开发应用程序
你是完全开发自己的蓝牙驱动还是只做第三方扩展应用?
协议层这一层包括L2CAP,SDP,RFCOMM.WinCE靠2个动态链接库来实现,一个是btd.dll另外一个是btdrt.dll.由device.exe加载.btd.dll包含了协议栈各个层.而btdrt.dll提供了一组api来访问各个层.btdrt.dll其实是一个runtime库。