附加代码在访问连接的EEPROM (CAT24C512-D)时工作正常。 我可以写入/读取,但只能使用带辅助,因为我无法使CNT寄存器减量,从而影响状态寄存器(我从未看到ARDY处于活动状态)。 我对线路进行示波,信号良好(示波器解码器显示正确的数据。
我在这里做错了什么? 为什么我不能让CNT减量?e2e.ti.com/.../eeDrv.ce2e.ti.com/.../eeDrv.h
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
附加代码在访问连接的EEPROM (CAT24C512-D)时工作正常。 我可以写入/读取,但只能使用带辅助,因为我无法使CNT寄存器减量,从而影响状态寄存器(我从未看到ARDY处于活动状态)。 我对线路进行示波,信号良好(示波器解码器显示正确的数据。
我在这里做错了什么? 为什么我不能让CNT减量?e2e.ti.com/.../eeDrv.ce2e.ti.com/.../eeDrv.h
Mark,您好!
I2CCNT是一个16位寄存器,用于指示I2C模块配置为发射器时要传输多少数据字节,或配置为主接收器时要接收多少数据字节。
在重复模式(RM =1)中,不使用I2CCNT。 ARdy设置在从I2CDXR传输的每个字节的末尾
在非重复模式(RM =0)中:如果I2CMDR中的STP =0,则当数据计数器倒计数为0时,将设置ARDY位。 如果STP =1,则ARDY不受影响(相反,当计数器达到0时,I2C模块生成停止条件)。