大家好,亲爱的Android的先驱们!
我呼吁你的帮助,因为我在过去的几个月里一直在努力为Adafruit SI7021温度和湿度传感器建立一个安卓的东西驱动程序。承载项目的Here is the link to the github repository。使用readRegByte连接和获取芯片id工作正常。但是,在尝试使用readRegBuffer检索温度或湿度数据时,我得到了一个PioException: I/O error。
int address = 0xE5; // from datasheet
byte[] buffer = new byte[3];
device.readRegBuffer(address, buffer, 3); // throws PioException我不知道我还能给你什么线索,让你对这个问题有一个清晰的认识,所以请不要犹豫,问任何问题。
请不要让我买一台arduino,然后重新开始;)
非常感谢你,mutch!
附言:使用简单的单词我是一个IoT和安卓的初学者。
发布于 2017-12-07 02:36:58
readRegBuffer没有完成我相信您所期望的事情。来自the API documentation
从给定的寄存器读取多个字节。
如果要读取的寄存器长度为3字节长(24位),则使用此方法。查看the part's datasheet (p21),相对湿度的寄存器0xE5似乎是一个2位字。
期望3个字节会产生问题,因为您的设备将期望返回3个字节。但是,如果只返回两个字节,则实际结果将会不一致。
https://stackoverflow.com/questions/47675786
复制相似问题