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.

DSP28035 I2C EEPROM 读写的问题

您好:

    我把TI提供的DSP28035关于EEPROM的例程移植到了我的程序里,基本没有改动,外接的EEPROM为24XX16,地址范围0x0~0xFFF,有8个page。

     当我往EEPROM的某一个Page中写数据时,中断等正常发生。我再次从写入的地址读出来时,中断也正常发生。

   现在的问题是:

   1. 假如我往page0里面写0x1234,那么slave地址为:0x50,我写入的地址是:0x0000;中断发生正常(不知道有没有写成功,中断流程正常)

       问题:我从EEPROM的page0立面的任意地址读出来,都是0x1234,按理说我从0x0000读出来的是0x1234,而从本page中其它地址读出的不应该是一样的。

                  读出的都是我最后一次写入这个page里面的值。

                  这个时候我如果去读其他page的地址,读出来不是0x1234。

                 (看手册,感觉按照EEPROM的读方式,读其他page时,slave地址要变化,7位地址,高四位不变,后三位表示读取的page)

   2. 按照例程的设置,发现I2CCNT这个寄存器我所设置的数不能大于4,一旦大于四,不能进入中断流程。

    麻烦帮我分析下上面的问题,主要是第一条,为什么我读的时候,再读同一个PAGE中的不同地址,读出的都是我最后一次写入这个page的值。现在不清楚是写的不对,还是读出来的不对,还是两个部分都有问题。