Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

problem z at89C2051 i eeprom 24C04

arturssp 22 Aug 2004 02:23 1943 9
  • #1
    arturssp
    Level 16  
    Problem polega na tym, ze podczas wykonywania proby pobrania adresu pamieci eeprom tym programem:



    "
    Config Lcd = 16 * 2
    Config Sda = P3.5
    Config Scl = P3.7
    Dim Adres As Byte
    Locate 1 , 1
    Cls
    Lcd "Start"
    Cls
    For Adres = 100 To 200 Step 2 'wykonuje petle for
    'w zakresie 150-200 co 2
    I2cstart 'start i2c
    I2cwbyte Adres 'wyslij adres
    I2cstop
    Waitms 50
    Locate 1 , 1
    If Err = 0 Then
    Cls 'jesli nastapila odpowiedz
    Lcd "Układ pod:" ; Adres 'wyswietl adres
    Else
    Cls
    Lcd "Brak ukł." 'w przeciwnym wypadku ....
    End If

    Wait 1
    Next Adres
    Cls
    Lcd "Koniec"
    End

    wykrywa ja pod 160 i pod 162... chodzi mi o plytke testowa AVT 2500
    uklad PCF wyjalem z podstawki, wiec na plytce pozostaje tylko jedno urzadzenie podpiete pod I2C..... Czy to mozliwe zeby jeden uklad wystepowal pod dwoma adresami??? i na dodatek zeby nie dzialal pod zadnym z nich.... bo ani sterujac go z 160 ani z 162 nic sie nie da zapisac ani odczytac z pamieci..... Co moze byc przyczyna?? Uszkodzona pamiec?? bo ja juz nie wiem co robic... Prosze o odpowiedz jesli ktos by wiedzial co sie dzieje.. Dzieki z gory.
    Kamery 3D Time of Flight - zastosowania w przemyśle. Darmowe szkolenie 16.12.2021r. g. 10.00 Zarejestruj się
  • #2
    GienekS
    Level 32  
    Z tego co pamiętam to ta pamięć ma trochę pokręcone adresy. Najlepiej będzie sprawdzić to w nocie.
    Właśnie to sprawdziłem. Układ ten ma A0 i A1 i A2 do adresowania zewnętrznego czyli ma osiem różnych adresów, każda w trybie zapisu i
    odczytu.
    1010000x
    1010001x
    1010010x
    1010011x
    1010100x
    1010101x
    1010110x
    1010111x
    x=0 to zapis
    x=1 to odczyt
  • #3
    BoskiDialer
    Level 34  
    24c04 ma 4 kb (kilobity) pamięci więc 512 bajtów, więc jest podzielony na 2 strony po 256 bajtów (chyba).. każda strona jest symulowana jako osobny układ i dlatego są 2 adresy.. to że żaden niedziała może być spowodowane tym że pamięć jest pusta (0xFF) a pin WP (write protect) może być podłączony do Vcc i dlatego niedziała zapis.. jeśli układ odpowiada sygnałem Ack po podaniu adresu to musi być sprawny. chyba że pamięc eeprom przeżyła już swój żywot programowania..
  • #4
    arturssp
    Level 16  
    pin 7 czyli WP mam "wiszaca w powietrzu", natomiast A0, A1, A2 zwarte do masy. Jak wiec mam podlaczyc te koncowki zeby bylo ok?? pin WP podpiac pod mase?? skoro jesli jest pod Vcc to blokuje zapis... Pamiec jest nowa, nie uzywana jeszcze... :cry: Nie wiem co robic :(.... W kazdym razie dzieki Wam za odpowiedzi :)
  • #5
    elektryk
    Level 42  
    arturssp wrote:
    pin WP podpiac pod mase??
    Zobacz w specyfikacji określonego producenta, bo to od określonego producenta i np dodatkowego oznaczenia zależy do czego ta nożka służy, może blokować całość, połowe pamięci lub wogóle nic nie blokować.
  • #6
    BoskiDialer
    Level 34  
    Przeważnie jest tak że pin WP blokuje zapis jak jest podłączony do Vcc, a nieblokuje jak jest podłączony do Gnd, w moich konstrukcjach EEPROM 24C jest podłączony tak: piny 1,2,3,4 i 7 do Gnd, 8 do vcc, 5 sda, 6 scl i wszystko działa..
  • #7
    Józek1
    Level 10  
    Mam pytanie co do programowania pamięci 24C64 przez procka Atmega8 i odczyt.

    Program do zapisywania jest nastepujący
    $crystal = 1000000
    $regfile = "M8def.dat"

    Config Sda = Portc.4
    Config Scl = Portc.5

    Declare Sub Write_eeprom(adres As Byte , Value As Byte)
    Dim Adres As Byte , Value As Byte
    Dim R As Byte
    Restore Dane1
    For R = 0 To 255
    Read Value
    Call Write_eeprom(r , Value)
    Next R
    End

    Sub Write_eeprom(adres As Byte , Value As Byte)
    I2cstart
    I2cwbyte 160
    I2cwbyte Adres
    I2cwbyte Value
    I2cstop
    End Sub


    Dane1:
    Data 84 , 6,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HE0 , &H10 , &H10 , &H10 , &HE0 , &H00 , &H00,
    Data &H00 , &H10 , &HF0 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HC0 , &H43 , &H44 , &H44,
    Data &H44 , &H43 , &H40 , &H40 , &H44 , &H44 , &H47 , &H44 , &H44 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40,
    Data &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40,
    Data &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40,
    Data &H40 , &H40 , &H40 , &HC0 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H10,
    Data &H10 , &H10 , &H10 , &H10 , &HFF , &H10 , &H00 , &H00 , &H10 , &H00 , &H00 , &H10 , &H10 , &H10 , &H10 , &H10,
    Data &H10 , &H00 , &H00 , &H10 , &H00 , &H00 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H00 , &H00 , &H10,
    Data &H00 , &H00 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H00 , &H00 , &H10 , &H00 , &H00 , &H10 , &H10,
    Data &H10 , &H10 , &H10 , &H10 , &H10 , &H00 , &H00 , &H10 , &H00 , &H00 , &H10 , &HFF , &H10 , &H10 , &H10 , &H10,
    Data &H10 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H07 , &H04 , &H04 , &H04,
    Data &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04,
    Data &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04,
    Data &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04,
    Data &H04 , &H04 , &H04 , &H07 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00


    Wydaje mi się ze jak wpiszę to do procka to on wykona operację i poskasowaniu tego programu z procka w eepromie jest nadal wartość którą wpisał

    Teraz wgrywam program który ma czytać z eeprom i wyswietlać na LCD i tutaj się zaczyna problem.
    Wcześniej miałem następujący program który wyświetlał mi obrazek na wyswietlaczy LCD

    '******************** Driving graph. display NOKIA LPH7779 **********************
    '******************************* (Tiny LCD) *************************************

    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Sda = Portc.4
    Config Scl = Portc.5
    Config Portc = Output
    Config Portb = Output 'communication port to LCD
    Config Spi = Soft , Din = Portb.0 , Dout = Portc.2 , Ss = None , Clock = Portc.3
    Dim A As Byte
    Dim Txloc As Byte , Tyloc As Byte , Tsub As Word , Tword As Word
    Dim Tstring As String * 84 , Tchr As String * 1
    Dim Twidth As Byte , Thigh As Byte , Yy As Byte , Xx As Byte , Tout As Byte


    '********************************************************************************
    '************************* Subprograms declarations *****************************
    Declare Sub Tcls
    Declare Sub Tlcdinit
    Declare Sub Tinverse
    Declare Sub Tgphloc(txglc As Byte , Tyglc As Byte)
    Declare Sub Tlocate(byval Txlc As Byte , Byval Tylc As Byte)
    Declare Sub Tprintf
    Declare Sub Tshowpic



    '****************************** MAIN loop **********************************START

    Call Tlcdinit

    Main_loop:

    Tlocate 0 , 0
    Restore Dane1
    Call Tshowpic
    Waitms 500
    Goto Main_loop
    End 'end program

    '********************************************************************************
    '********************************* subroutines **********************************

    '********************************** Tlcdinit *******************************START
    Sub Tlcdinit
    Spiinit
    Reset Portc.0 'LCD enable
    Reset Portb.2 'RESET LCD disp.
    Set Portb.2
    Reset Portc.1 'command mode
    Tout = &H21 'extended command mode
    Spiout Tout , 1
    Tout = &HC1 'Vop-contrast mode
    Spiout Tout , 1
    Tout = &H06 'temperature compensation
    Spiout Tout , 1
    Tout = &H13 'bias 1:48
    Spiout Tout , 1
    Tout = &H20 'normal command mode
    Spiout Tout , 1
    Tout = &H0C 'normal-horizontal LCD mode
    Spiout Tout , 1
    Call Tcls
    End Sub

    '************************************ Tcls *********************************START
    Sub Tcls
    Reset Portc.1 'command mode
    Tout = 12 'normal video mode
    Spiout Tout , 1
    Tout = 128 'RAM addr to '0000000'
    Spiout Tout , 1
    Set Portc.1 'data mode
    Tout = 0
    For Tword = 0 To 700 '84x6 sends 0 to clear LCD
    Spiout Tout , 1
    Next
    End Sub

    '*********************************** Tinverse ******************************START
    Sub Tinverse
    Reset Portc.1 'command mode
    Tout = 13 'normal video mode
    Spiout Tout , 1
    Set Portc.1 'data mode
    End Sub

    '***************************** Tgphloc(Txglc , Tyglc) ***********************START
    Sub Tgphloc(txglc As Byte , Tyglc As Byte)
    Reset Portc.1 'command mode
    Tout = Tyglc + &H40 'sets 0-5 Y-addr of RAM
    Spiout Tout , 1
    Tout = Txglc * &H06 'sets 0-13 X-addr of RAM
    Tout = Tout + &H80
    Spiout Tout , 1
    Set Portc.1 'data mode
    End Sub

    '***************************** Tlocate(Txloc, Tyloc) ***********************START
    Sub Tlocate(byval Txlc As Byte , Byval Tylc As Byte)
    Txloc = Txlc
    Tyloc = Tylc
    Tgphloc Txloc , Tyloc
    End Sub
    '************************************ Tshowpic *****************************START
    Sub Tshowpic
    Read Twidth
    Read Thigh
    For Yy = 1 To Thigh
    For Xx = 1 To Twidth
    Read Tout : Spiout Tout , 1
    Next
    Incr Tyloc
    Tgphloc Txloc , Tyloc
    Next
    End Sub


    '***********************************************(DAne)*****************

    Dane1:
    Data 84 , 6,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HE0 , &H10 , &H10 , &H10 , &HE0 , &H00 , &H00,
    Data &H00 , &H10 , &HF0 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HC0 , &H43 , &H44 , &H44,
    Data &H44 , &H43 , &H40 , &H40 , &H44 , &H44 , &H47 , &H44 , &H44 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40,
    Data &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40,
    Data &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40 , &H40,
    Data &H40 , &H40 , &H40 , &HC0 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H10,
    Data &H10 , &H10 , &H10 , &H10 , &HFF , &H10 , &H00 , &H00 , &H10 , &H00 , &H00 , &H10 , &H10 , &H10 , &H10 , &H10,
    Data &H10 , &H00 , &H00 , &H10 , &H00 , &H00 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H00 , &H00 , &H10,
    Data &H00 , &H00 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H10 , &H00 , &H00 , &H10 , &H00 , &H00 , &H10 , &H10,
    Data &H10 , &H10 , &H10 , &H10 , &H10 , &H00 , &H00 , &H10 , &H00 , &H00 , &H10 , &HFF , &H10 , &H10 , &H10 , &H10,
    Data &H10 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &HFF,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,
    Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H07 , &H04 , &H04 , &H04,
    Data &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04,
    Data &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04,
    Data &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04 , &H04,
    Data &H04 , &H04 , &H04 , &H07 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00,


    Ale teraz chcę tak przerobić program zeby on czytał ten obrazek z pamieci eeprom a z programu go chcę wykasować.
    NIe wiem jak mam to napisać?
    Proszę o pomoc
    Pamięć mam podłączoną tak jak było napisane w poscie powyżej
    Vcc do zasilania SCL do SCL mikroprocesora SDA do SDA uP a reszta do masy.
  • #8
    BoskiDialer
    Level 34  
    Józek1 wrote:

    (drugi kod)
    (...)
    Main_loop:
    Tlocate 0 , 0
    Restore Dane1
    Call Tshowpic
    Waitms 500
    Goto Main_loop
    End 'end program
    (...)

    przecież dane zapisywałeś do eeproma poto aby później uniknąć ich umieszczania w programie, więc pogrubioną linijke powinieneś zastąpić przez odczyt z pamięci eeprom, ew, po resecie załadować eeprom do pamięci ram i wtedy odczyt robic z pamięci ram. (o ile niebraknie pamięci)
  • #9
    Józek1
    Level 10  
    Własnie nie wiem jak tą linike zastąpić
    Pisałem coś takiego

    I2creceive 161, value, ?, ?

    tam gdzie są znaki ? to nie wiem do końca co wpuisać rozumiem że ilość byte odebranych ale po co ilość byte wysłanych przy odbiorze.

    Gdybyś mi napisał jak to trzeba zapisać to byłbym bardzo wdzięczny

    Też nie mam pewności czy coś jest w pamięci albo gdzie to się znajduje. Jak mam wywołać z pamięci ten konkretny obrazek który wysłałem ale nawet nie wiem czy tam jest.
    Poza tym nie wiem jak wykasować pamięć. Jak np kilka razy wpisuję do pamięci to samo to co się z tym dzieje. Czy jest w pamięci tylko pod innym adresem
    Proszę o pomoc i zgóry dziekuję.
  • #10
    BoskiDialer
    Level 34  
    hm.. przy i2cwbyte niewidze delay'a 10ms na to aby eeprom mógł zapisac dane, z tego 'loadera' do eeproma wywnioskowałem że ten 'obrazek' (tablica bajtów) jest ładowany pod adresy od 0 do 255. kolejny błąd jaki widze to 'to' że tablica ta ma 504 bajty i w żaden sposób niezostanie cała zapisana do eeproma przez ten pierwszy kod. kolejny problem jest taki że nieznam sie na bascomie i tobie w tym problemie niepomoge. ale z tego co wnioskuje po kodzie "Restore Dane1" ustawia wskażnik odczytu na 'Dane1' a 'Read zmienna' odczytuje bajt kodu programu z tego adresu, i inkrementuje wskaźnik. w ten sposób można napisać 2 funkcje: inicjującą i wykonującą. inicjująca (zamiast restore) wpisała by adres (wartość 0) pierwszej komórki w pamięci ram do jakiejś zmiennej adresowej, a druga (zamiast read) by odczytywała bajt danych z eeproma do zmiennej i inkrementowała wskaźnik.
pcbway logo