|
添加AHT10温湿度传感器无法通讯
发表于 2019-10-29 11:00:10
浏览:5356
|
回复:0
打印
只看该作者
[复制链接]
楼主
本帖最后由 kiswih 于 2019-10-29 11:01 编辑
使用AHT10温湿度传感器接入在AIO-3399C(AI)的I2C7号通道,设备寄存器地址是0x38,但是我调用i2c_master_send函数时返回-6(没有设备)错误,请问各位大神我应该如何正确使用呢?
DTS配置如下:
- &i2c7 {
- status = "okay";
- aht10: aht10@38 {
- status = "okay";
- compatible = "thinary,aht10";
- reg = <0x38>;
- };
- };
复制代码
驱动代码:
- static AHT10_R writeandread(const const char *cmd, size_t cmdsize, uint8_t *buffer, int readsize)
- {
- int rtn;
- struct i2c_client *client = this_client;
- if (!client)
- return AHT10_BAD;
- rtn = i2c_master_send(client, cmd, cmdsize); //返回-6
- if (rtn != cmdsize)
- {
- printk("ERROR sending command %d\n", rtn);
- return AHT10_WRITE_FAILED;
- }
- if (readsize > 0)
- {
- mdelay(100);
- rtn = i2c_master_recv(client, buffer, readsize);
- if (rtn < readsize)
- return AHT10_READ_FAILED;
- }
- return AHT10_OK;
- }
复制代码
|
|