我正在使用心率BLE windows 8.1示例
当我使用以下两个GUID时,一切正常:
<Capabilities>
<Capability Name="internetClient" />
<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
<m2:Device Id="any">
<m2:Function Type="name:heartRate"/>
<m2:Function Type="serviceId:b329392a-fbcd-49aa-a823-3e87680ac33b" />
</m2:Device>
<m2:Device Id="any">
<m2:Function Type="name:genericAccess"/>
<m2:Function Type="serviceId:ea2a0bd9-8296-4088-a995-3533b5b33941" />
</m2:Device>
</m2:DeviceCapability>
</Capabilities>
但是,如果我想使用:GUID Generator
更改GUID <Capabilities>
<Capability Name="internetClient" />
<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">
<m2:Device Id="any">
<m2:Function Type="name:heartRate"/>
<m2:Function Type="serviceId:1a9d4963-e715-4f6e-9e07-4febf538f6a6" />
</m2:Device>
<m2:Device Id="any">
<m2:Function Type="name:genericAccess"/>
<m2:Function Type="serviceId:eef3f149-d420-4468-9def-1046fdcfe25e" />
</m2:Device>
</m2:DeviceCapability>
</Capabilities>
代码抛出错误:
Specified value is out of range
对于这行代码:
characteristic.Add(device.Name, s.GetCharacteristics(CHARACTERISTIC_UUID_R2)[CHARACTERISTIC_INDEX]);
为什么
eef3f149-d420-4468-9def-1046fdcfe25e
1a9d4963-e715-4f6e-9e07-4febf538f6a6
抛出错误而其他两个GUID没有?
b329392a-fbcd-49aa-a823-3e87680ac33b
ea2a0bd9-8296-4088-a995-3533b5b33941
当我使用工作GUID进行调试时:
Debug.WriteLine(s.GetCharacteristics(CHARACTERISTIC_UUID_R2).Count);
打印:
1
但是新的 eef3f149-d420-4468-9def-1046fdcfe25e 或 1a9d4963-e715-4f6e-9e07-4febf538f6a6 会打印出来:
0
答案:
想出来。我把GUID与特色UUID混淆了。对于我的设备:
GUID:b329392a-fbcd-49aa-a823-3e87680ac33b
特色UUDI:b329392b-fbcd-49aa-a823-3e87680ac33b
a 和 b
的差异答案 0 :(得分:2)