我有一个数据记录器(数据表),我正在尝试使用获取电池电量命令(0xAA)获取电池电压,但结果不正确(负数)。任何人都知道似乎是什么问题?
我的源代码:
public static double cmdGetBatteryLevel(Tag tag, NfcV nfcvTag) throws IOException {
byte[] comGetBatLvl = new byte[]{
(byte) 0x20, // Flags - addressed
(byte) 0xAA, // Command: Get Battery Level
(byte) 0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, // placeholder for tag UID
};
System.arraycopy(tag.getId(), 0, comGetBatLvl, 2, 8);
byte[] replyData = nfcvTag.transceive(comGetBatLvl);
int batCode = replyData[1];
//3V battery
double batLvl = (batCode*6.32) + 1.62;
// 1.5V battery
//double batLvl = (batCode*3.35) + 860;
return batLvl; }