我正在为摩托罗拉C# MC55设备开发一个设备应用程序(使用蓝视眼)。该应用程序设置蓝牙查询和配对过程(通过企业移动开发人员工具包)并写入虚拟串行端口 #:
public void DoConnection(IRemoteBTDevice rd)
{
RemoteDevice remoteDevice = new RemoteDevice(rd.DeviceName, rd.Id.Replace(":", ""), "");
this.bluetooth.RemoteDevices.Add(remoteDevice);
this.bluetooth.RemoteDevices.Refresh();
if (!remoteDevice.IsPaired)
{
remoteDevice.Pair(rd.Pin);
}
//TODO Note serial port # (get it by means of remoteDevice.LocalComPort)
//Works smoothly, but a second process has to do this (requirement).
remoteDevice.OpenPort();
}但是,一旦第二个进程(例如,另一个c#设备应用程序)打开该串口,BTExplorer就会启动。我如何抑制这一现象?
this.comX = new SerialPort(this.BluetoothPortName);
this.comX.Open();我只是在使用另一个程序集:http://32feet.codeplex.com/。它对于摩托罗拉ES400 (Microsoft )来说很顺利。在看到这个:http://32feet.codeplex.com/wikipage?title=Stonestreet%20One%20Bluetopia之后,我使用了相同的代码,但是它对于MC55还没有正常工作。
谢谢你的支持,罗杰·胡伯
发布于 2011-09-09 13:13:40
据我所知,实际上提供/控制虚拟COM端口服务的是BTExplorer.exe,所以当使用虚拟COM端口时,它需要运行。
当使用我的MC55蓝视眼支持时,一定要让你知道你在你的32feet.NET上看到了什么问题。正如我在32feet.NET:斯通雷特蓝视上指出的那样,我在一个M3移动设备上进行了测试,该设备有一个最近版本的蓝视城堆栈。也许StoneStreetOne在你们的版本之间改变了什么。(如果蓝视城的启动完全失败,那么我在3.3版中有更多的日志记录-我离发布并不太远)。
当然,如果第二个C#程序需要使用虚拟COM端口,那么32feet.NET就帮不上忙了--如上所述,仍然需要BTExplorer。但是,如果您可以将该程序更改为使用BluetoothClient等而不是COM端口.(当然,记住“蓝视一次一个”的限制)。
艾伦
https://stackoverflow.com/questions/7348043
复制相似问题