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ć zmienną LONG w Bascomie do pamięci EEPROM 24C?

slavcio2012 01 Kwi 2013 08:58 1767 10
REKLAMA
  • #1 12138385
    slavcio2012
    Poziom 15  
    Witam,

    nie wiem jak napisać kod w Bascomie zapisu i odczytu zmiennej LONG do pamięci , popularnych kostek 24C
  • REKLAMA
  • #2 12138440
    Kuniarz
    Moderator Projektowanie
    Long to zmienna zajmująca 4ry bajty. Jeśli więc potrafisz zapisać w EEPROMie pojedyncze bajty, to możesz zamienić Long na 4 poszczególne bajty i zapisać je kolejno do pamięci. Można chyba też ustalić adres, pod jakim fizycznie zapisywane są zmienne, więc możesz też skopiować te 4 bajty z pamięci wewnętrznej do zewnętrznej.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #3 12138444
    slavcio2012
    Poziom 15  
    Ok a może mały przykład bo bascomu uczę się od niedawna
  • #4 12138452
    excray
    Poziom 41  
    Dowolną stałą/zmienną zamieniasz na HEX i bierzesz od prawej po 2 znaki. Jeśli na końcu wychodzi jeden znak to uzupełniasz zerem. Przykład:
    stała do zapisania LONG: 6 347 234 445 = 0x17A531C8D = 0x01,0x7A,0x53,0x1C,0x8D
    i zapisujemy te 5 bajtów:
    0x8D
    0x1C
    0x53
    0x7A
    0x01
    Przy odczycie odtwarzasz z powrotem liczbę z bajtów.
    Do przeliczania dec-hex możesz użyć kalkulatora z windows (widok->programisty)
  • #5 12138489
    slavcio2012
    Poziom 15  
    czyli tak jeżeli chcę zapisać zmienną o wartości np. 370000 to hex 5A550 i to dzielę po 2 znaki jeżeli ostatnia po prawej jest 5 to przednią daję 0 ?
  • REKLAMA
  • #6 12138493
    excray
    Poziom 41  
    Powinno Ci wyjść: 0x05, 0xA5, 0x50
  • #7 12138506
    slavcio2012
    Poziom 15  
    ok a jak teraz ułożyć te dane do zapisu i odczytu po I2C mając taki kod
    Kod: text
    Zaloguj się, aby zobaczyć kod
    i co najważniejsze jak to zrobić by automatycznie się samo przeliczało na hex [/code]
  • #8 12138607
    piotrva
    VIP Zasłużony dla elektroda
    Poczytaj sobie o słówku Overlay: http://avrhelp.mcselec.com/index.html?dim.htm
  • #9 12138652
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #10 12138945
    slavcio2012
    Poziom 15  
    w drugim przykładzie wyrzuca mi error 20 Unknown DATE TYPE[BYTE(4)]

    Wydaje mi się ,że w jednej linii powinno być tak [code]
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Tylko jak to teraz odczytywać ?
  • #11 12141045
    Dar.El
    Poziom 41  
    Zacznij używać klawisz SHIFT. Jak nie poprawisz postów, to będę musiał cały temat umieścić w koszu.
REKLAMA