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

news/2025/3/20 3:29:54/

关于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时序没写对,有的是硬件的问题。但目前还没看到这种情况的,所以分享出来,以便后来也有人看到。


http://www.ppmy.cn/news/478622.html

相关文章

PB错误代码

string ls_msgchoose case error.number case 1//by zero ls_msg "发生被 0 除错误" case 2//2 Null object reference ls_msg "空对象引用" case 3//3 Array boundary exceeded ls_msg "数组越界" case 4//4 Enumerated value is out …

iOS开发中,出现错误:Apple Mach-O Linker Error

小编在做一个关于环信的小demo,导入环信SDK(EaseMobSDK)时,报连接的错误,如下图所示: 一般情况下的解决办法是,如下图,分别在没有标号的箭头中添加编译需要的.m文件和必需的框架: 而小编这…

树莓派通过I2C驱动LCD1602显示屏

问题来源 在此之前学习了Arduino驱动LCD1602(Arduino通过I2C控制1602LCD显示屏),其过程比较简单,现在想通过树莓派实现控制功能,提升树莓派编程控制能力,在此过程中虽然能正常让LCD显示文字,但…

windows 错误代码2

4056-关机操作正在执行。4057-提供的对象已经无效。4058-元素已经存在,并且未被替换。4059-由于请求的操作已经完成,故无法取消。4060-由于请求的操作已经完成,故无法执行。4061-操作访问的数据超出有效数据的范围。4062-请求的版本不受支持。…

解决安装黑苹果出现提示应用程序副本已损坏,不能用来安装macOS的解决方法

安装黑苹果系统出现提示 应用程序副本已损坏,不能用来安装macOS的解决方法 不管是实体机黑苹果安装,还是虚拟机安装,都会遇得到 原因,苹果系统镜像文件中内置的时间证书到期 比如现在的时间是2019/11/08,安装黑苹果1…

Mac 在终端下复制粘贴出现:00~ xxx 01~ 问题的解决方案

在 Mac 在终端下复制粘贴字符串的时候,偶然出现了粘贴的字符串收尾会多了一对字符:00~ xxx 01~。 经过一番研究发现,原来这是终端本身的功能:括号粘贴模式。 那这个括号粘贴模式有什么用呢?其实他的用处很简单&#…

应用程序无法正常启动0xc0150002

应用程序无法正常启动0xc0150002 1 介绍2 分析3 处理步骤 3.1 下载VC90的动态库3.2 工具包中放入VC90动态库 附 downloading Microsoft Visual C 2008 Redistributable Package (x86) 参考 1 介绍 安装内部开发的工具时,遇到报错“0xc0150002”。 之后查看系统日志…

【解决方案】mac:stack Error: `gyp` failed with exit code:1

【20200730更新】 最下面是之前的答案。我发现这个问题其实不那么简单,是因为搜索gypfailed with exit code:1还不够具体,看看报的错误,其实可以更详细一些的。分隔符下面的是之前的一种解决方案,这种解决方案只解决报文件node-gy…