在试图读取Android API 18中蓝牙低功耗GATT特性的值时,我遇到了以下困境:检索存储在特征中的值的正确方法是什么?并且应该在哪个级别的堆栈中执行此操作?
在进行自己的研究时,我偶然发现了两种可能的方法:
BluetoothGattCharacteristic .getValue()
public void onClick(View v){
byteValue = mBTValueCharacteristic.getValue();
if ((byteValue[0] & 0x01) == 1)
byteValue[0] = 0x00;
else
byteValue[0] = 0x01;
mBTValueCharacteristic.setValue(byteValue);
mBTGatt.writeCharacteristic(mBTValueCharacteristic);
}
Run Code Online (Sandbox Code Playgroud)以上是引导我解决这个问题的原始代码.在其中,我尝试读取特征的值,并使用按钮简单地切换其状态.
bluetooth-lowenergy android-bluetooth android-4.3-jelly-bean
在 IronPython 脚本中,我尝试将Grade对象(在 C# 中创建)的属性(类型为 )与枚举的可能值之一进行比较Grade。例如:
if (myObject.TotalGrade == Grade.Fail):
Run Code Online (Sandbox Code Playgroud)
现在,我在获得这两个值后设置了一个断点,并且我确实可以验证它们都保持“失败”;然而,检查失败,程序继续执行下一个子句。python 相等运算符不适合 C# 枚举吗?
附加信息:我已从GradeC# 导入枚举,如下所示。
import clr
clr.AddReferenceToFile("mydll.dll")
from mydll import Grade
Run Code Online (Sandbox Code Playgroud)