关于i2c读取值一直是0xff的问题

关于i2c读取值一直是0xff的问题

本次使用的是C8051F340芯片通过模拟i2C 进行读写数字电位器DS3902,这些规格书都可以在官网下载
C8051F340下载地址:https://www.alldatasheet.com/datasheet-pdf/pdf/182721/SILABS/C8051F340.html
DS3902下载地址:https://www.maximintegrated.com/cn/products/analog/data-converters/digital-potentiometers/DS3902.html
在本次项目中遇到了特别奇怪的问题,去翻3902的规格书可以知道
在这里插入图片描述
规格书里这样说:The I2C slave address of the DS3902 depends on the state of the ADD_SEL pin. If this pin is low, then the slave address is A2h. If the ADD_SEL pin is high, then the slave address is determined by the value stored in EEPROM at address 00h.
就是说他的设备地址是基于ADD_SEL pin接的是地还是拉高。本次是属于拉高状态。那设备地址就是图中默认的0xA0 。
但我在这次操作的时候进行读写3902时,第一次可以读写成功,之后再也读写不到读取的值一直是0xFF ,这个问题整整困惑了两天,直到今天前辈说设备地址有可能在擦除的时候被改掉,于是就试了一下,发现3902地址已经被改为0xff。所以当遇到这个问题时,希望看到的人能考虑这个因素,自然本人在网上查了,遇到此类问题的人很多,有的是i2c时序没写对,有的是硬件的问题。但目前还没看到这种情况的,所以分享出来,以便后来也有人看到。

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值