Eeprom 24c04 psaní / čtení

B

blacksnow

Guest
Napsal jsem jednoduchý program pro zápis a čtení 0x99 řešit 0x0077 z 24c04, ale simulace does'nt odečtěte hodnotu 0x99 z této adresy místo toho čte z 0x77 0x0077. V souboru jsem změnil Proteus sériové EEPROM 24c32, 24c64, 24c128 a 24c256 a fungovalo to dobře a psaný a číst hodnotu 0x99 do / z adresy 0x0077 úspěšně. Ale s tímto 24c04 does'nt práce. Jestliže máte nějaké řešení nebo opravit problém. Simulace Proteus je připojen. Díky
 
Myslím, že 24c04 a 24c32, 24c64, 24c128 se diffr. adresy bloku
 
pro 24c01 na 24C16 (včetně 24c04) máte k dispozici pouze 1 byte pro řešení ... (Funguje s 24c01 a 24c02) pro další řešení je nutné použít 3 menší kousky I2C adresa, takže je nutné Chage vaše psaní / čtení rutiny ... {Extra věci na 0xA0 na 3bit další řešení ... }
Code:
 unsigned char readByte (unsigned int adr) {unsigned char Data, Start (); WriteI2C (0xA0 | ((Adr>> 7) a 0x0E)), WriteI2C ((unsigned char) Addr a 0xFF), Start (); WriteI2C (0xA1), Data = ReadI2C (), stop (); návrat (data);} void WriteBYTE (unsigned int addr, unsigned char data) {Start (); WriteI2C (0xA0 | ((Adr>> 7) a 0x0E)) , WriteI2C ((unsigned char) Addr a 0xFF) / / poslat adresu nízké WriteI2C (Data), stop ();}
 
Já používám eeprom 24c08, i wanto uložit mnoho řetězců do EEPROM jeden řetězec ze 4 bytů. ale nevím, jak se dát do EEPROM. může kdokoliv poslat mi kód 8051 (Keil) nebo PIC (pomocí MikroC) v jazyce C ..... řetězec je mít 1000 každý ze 4 bytů. plz pošlete mi kód .... Děkuji ... e-mail ID: ashu_aka88@yahoo.com
 

Welcome to EDABoard.com

Sponsor

Back
Top