因为datasheet上写传输率在20k~32k之间,因此我采用写EEPROM的程序,只是改变其中的延时程序而已。 原来EEPROM中的延时程序是: _nop_();_nop_();_nop_();_nop()_; 我将其改为: for(i=0;i<=39;i++) _nop_();//1us*40=40us,25kHZ
为什么zlg7290有时有ack有时没,而同一个I2C总线上的EEPROM 24c02就一直可以有ack信号。 换过芯片,应该不是芯片问题。 估计是延时有问题,麻烦各位大侠看看为什么这样延时不行?谢谢了
|