使用BTFramework读取BLE特征值时加密后仍报错的问题求助
BTFramework读取BLE特征值时加密后仍报错的问题求助
我用nRF Connect for Mobile读取某BLE设备的特征值完全没问题,但换成BTFramework(.NET蓝牙框架)的试用版来做相同操作时遇到了麻烦。
我调用的核心代码是:
Int32 Res = Client.ReadCharacteristicValue(Characteristic, OpFlag(), out Value, Protection());
我原本有两个问题,其中第一个已经自行解决:
- 之前我不知道怎么把
wclBluetoothErrors的错误码对应到具体错误名称,只能挨个点在线文档里的错误名找匹配的码,效率特别低。(更新:已经找到解决办法,能在框架的错误码文档列表里直接对应)
现在卡在第二个问题上:
我尝试读取一个可读可写、无需加密认证的特征值时,返回的错误码是0x000510D,对应的提示是“该特征在读写前需要加密”。于是我开启了加密,但现在又得到了错误码0x0005101F,提示是“目标服务器未提供合适的网络响应”,而且输出参数Value的值是null。
我已经试过开启*强制指示(Forced Indicators)*和订阅该特征,但都没有效果。不管是读取多字节数组的特征还是单字节数组的特征,结果都是一样的。想请教各位,我还能尝试哪些方法来解决这个问题?
备注:内容来源于stack exchange,提问作者Hamilton Woods
相关产品推荐
相关产品推荐

