Cypress技术论坛
直播中

李建宁

7年用户 219经验值
私信 关注
[问答]

无法读取设备ID

我使用ADAFRUIT光传感器TSL2591,我不能读取设备ID(应该返回0x50),但是ID返回ID地址而不是值。在这个代码中,DeVice ID=TSL2591AiReReg(WoHyaMayi)返回0x12的值而不是0x050。有什么想法吗?(我用的是先锋套装)
UtiN TSL2591AReReg(UTIN 8RG)
{
UIT8WRead eBuf〔1〕={ 0 };
Wrad EB BUF〔0〕=Reg;
UIT8 8读写BUF〔1〕={ 0 };
I2CY11I2CMASTREST BUF(TSL2591A ADDR,(UTI8*)WrreEx BUF,1,I2CY1II2CYMODEYNOYSTOP);
((I2CY1II2CMASTSTATESUSER)和(I2CY11I2CYMSTATEA WRESCMPLT)=0){}
I2CY11I2CMASTRADEBUF(TSL2591A ADDR,(UTI8*)Read Buf,1,I2CY1II2CYMODEA重复启动);
((I2CY1II2CMASTSTATESUSER)和(I2CY11I2CYMSTATEA RDY-CMPLT)=0){}
返回读数BUF〔0〕;
}
I2CX光传感器
1.5兆字节

回帖(8)

付雯瑶

2019-9-25 13:50:55
你没有提到你使用的PSoC 4板套件。你有拉电阻吗?
举报

李建宁

2019-9-25 14:10:45
我使用的是8CKIT-042,PSOC4,我确实有上拉电阻。
举报

李恩佳

2019-9-25 14:19:42
我没有TSL2591。我测试了你的程序,以及另一个设备(BMP-085)。阅读是正确执行,但也有差异:我的程序使用另一个旗(i2c_mode_complete_xfer):31 i2c_i2cmasterwritebuf(tsl2591_addr,write_buf(uint8 *),1,i2c_i2c_mode_complete_xfer);
如果你有cy8ckit-049-42xx,我可以给你我的程序测试I2C设备:i2c_finder.zip描述这里是不幸的是只有在俄罗斯。
I2C.ZIP
70.1 K
举报

王琳

2019-9-25 14:35:39
写作与“mode_no_stop”应该是正确的,除非标明在奴隶的数据表。通常一个读事务结束时停止条件释放总线。中间的“停止”可能是奴隶的错误。
我想是的masterreadbuf()和masterwritebuf()返回的结果的解释。提供完成代码会提示错误发生。
鲍勃
举报

更多回帖

发帖
×
20
完善资料,
赚取积分