Mam problem z komunikacj± miêdzy prockiem mcs51 a pamiêci± at24c64 . Prubowa³em przetestowaæ pamiêc pod³±czon± do procka, zapisaæ co¶ na ni± i odczytaæ. Skorzysta³em z Bascoma i przyk³adu w nim ale on nie dzia³a.
'----- Writing and reading a byte to an EEPROM 2404 ----------------- Dim A As Byte Const Adresw = 174 'write of 2404 Const Adresr = 175 'read adres of 2404 I2cstart 'generate start I2cwbyte Adresw 'send slaveadres I2cwbyte 1 'send adres of EEPROM I2cwbyte 3 'send a value I2cstop 'generate stop Waitms 10 'wait 10 mS because that is the time that the chip needs to write the data
'----------now read the value back into the var a ------------------- I2cstart 'generate start I2cwbyte Adresw 'write slaveadres I2cwbyte 1 'write adres of EEPROM to read I2cstart 'generate repeated start I2cwbyte Adresr 'write slaveadres of EEPROM I2crbyte A , 9 'receive value into a. 9 means last byte to receive I2cstop 'generate stop Print A 'print received value End
Rozumiem ze adres 174 i 175 s± adresami zapisu i odczytu Przesledzi³em PDF odno¶nie at24c64 s± piny A0 A1 A2 w moim przypadku zwarte do masy czyli adresy odczytu i zapisu powinny byæ 160 i 161 ( chyba - to moje przypuszczenie ) . testowa³em z 174 jak i 175 .
Ustawia³em odpowiedni± konfiguracje pinów procesorka dla pinów SDA SCL . byæ moze jest jaki¶ b³±d w tym przyk³adzie .
Je¶li kto¶ ma prostszy pomys³ na zapisanie w pamiêci eeprom 1 bajtu pod wskazany adres oraz jego odczutu do zmiennej bêdê bardzo wdziêczny . pozdrawiam .