logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zapisać i odczytać dane w EEPROM 24C32 w Bascom AVR?

robusta 31 Sie 2006 22:27 1577 0
REKLAMA
  • #1 2974775
    robusta
    Poziom 15  
    Posty: 189
    Ocena: 1
    Witam,
    proszę o modyfikację mojego programiku, gdyż staram się zrozumieć sposób zapisu i odczytu w większych eepromach niż 24C04 a to co jest opisane w samplu i2c.bas to zbyt enigmatyczne (używam 24c32 do tych testów)

    Chciałbym, aby programik zapisał mi w pamięci wartość 12345 ze zmiennej A a następnie odczytał mi to i podał na wyświetlacz.

    Przy zmiennej typu Byte działa, jednak przy większych liczbach albo przy zmiennych typu String i jakiś tekst już nie.
    Teraz wyświetla wartość zapisaną: 0
    Wiem, że to powinienem "rozbić" i użyć low i high ale nie wiem gdzie i jak

    pomóżcie proszę
    pozdr.
    Przemo P.


    $regfile = "2313DEF.dat"
    $crystal = 4000000
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db7 = Portb.7 , Db6 = Portb.6 , Db5 = Portb.5 ,
    Config Lcdpin = Pin , Db4 = Portb.4 , E = Portb.3 , Rs = Portb.2
    Config Sda = Portd.5
    Config Scl = Portd.6

    Dim A As Long
    Dim B As Long

    Display On
    Cls

    A = 12345

    I2cstart
    I2cwbyte 160
    If Err = 1 Then
    Locate 1 , 1
    Lcd " Brak pamieci "
    Do
    Waitms 100
    Loop

    Else

    Locate 1 , 1
    Lcd "A= " ; A

    I2cstart
    I2cwbyte 160
    I2cwbyte 1
    I2cwbyte 5
    I2cwbyte A
    I2cstop

    Wait 1

    Locate 2 , 1
    Lcd "Zapis " ; A

    End If

    Wait 3

    Cls
    Locate 1 , 1
    Lcd "wartosc zapisana:"
    I2cinit
    I2cstart
    I2cwbyte 160
    I2cwbyte 1
    I2cwbyte 5
    I2cstart
    I2cwbyte 161
    I2crbyte A
    I2cstop
    Wait 1
    Locate 2 , 1
    Lcd "B= " ; B

    Do
    Waitms 100
    Loop
  • REKLAMA
REKLAMA