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

Używanie pamięci EEPROM 24C32N w module DS3231 - Adres, zapis i odczyt danych, program BASCOM-AVR

bubbo 26 Gru 2022 20:23 552 3
REKLAMA
  • #1 20353125
    bubbo
    Poziom 14  
    Witak chciałem skorzystać z pamięci 24C32N umieszczonej ns ds3231 i nie chce mi działać
    Napisałem prosty programik i wyświetla mi cały czas 255
    skanowałem I2C i wyszłomi że adres &HAE to adres tej pamięci

     
    $regfile = "m328pdef.dat"
    $crystal = 16000000
    Config Scl = Portc.5
    Config Sda = Portc.4
    Config Twi =400000
    I2cinit
    $lib "glcdSH1106-I2C.lib"
    Config Graphlcd = Custom , Cols = 128 , Rows = 64 , Lcdname = "SSD1306" 'adress &h3c
    glcdcmd &b10000001
    glcdcmd 255
     setfont font8x8TT
    dim dana as byte
    DIM WYNIK AS BYTE
    Cls :Waitms 250
    
       dana = 111
       I2cstart
      I2cwbyte 174     'adres
      I2cwbyte 1
      waitms 20
      I2cwbyte dana    'dana
      I2cstop
       waitms 20
    
      I2cstart
      I2cwbyte 174   'adres
      I2cwbyte 1
      I2cstart
      I2cwbyte 175
      waitms 20
      i2crbyte wynik ,nack
      I2cstop
    
      lcdat 5,5,wynik
    
       end
    
    $include "font8x8TT.font"


    z góry dzięki za pomoc bo przydała by mi sie ta pamięć
  • REKLAMA
  • #2 20353188
    maciej_333
    Poziom 38  
    Układ DS3231 nie posiada oczywiście wbudowanego układu EEPROM: Link. Nie wiem skąd ten pomysł.

    Być może jest jakiś układ 24C32, który znajduje się na jakimś gotowym module razem z DS3231. Zapis bajtu nie jest prawidłowy. Zgodnie z dokumentacją 24C32: Link. Powinno się przesłać dwa bajty adresu do zapisu. Dopiero potem powinno się przesłać dane. Dokładnie tak samo jest z odczytem. Wyjaśniono to na stronie 12 dokumentacji tego układu.

    Adres można określić poprzez sprawdzenie połączenia linii A2, A1 i A0. Jednak podana wartość jest możliwa. Ponadto należy sprawdzić jak ustawiono linię WP.
  • REKLAMA
  • Pomocny post
    #3 20353241
    bart-projects
    Poziom 29  
    Są oczywiście takie moduły zespolone z pamięcią.
    Mozna tam zapisywać i czytac po bajcie, ale można też sekwencyjnie całe łańcuchy i tablice nawet serializatorem.
    Dwie pierwsze funkcje podpowiem. Wygląda na to ze działaja ;)
    Możnaby dodać jakieś zabezpieczenia na wypadek braku komunikacji.

    Kod: VB.net
    Zaloguj się, aby zobaczyć kod


    Używanie pamięci EEPROM 24C32N w module DS3231 - Adres, zapis i odczyt danych, program BASCOM-AVR
  • #4 20353321
    bubbo
    Poziom 14  
    Mistrzu działa,
    Upchnę teraz do niej kalendarz imienin,

    Dzięki wielkie i pozdrawiam.

    Pamięci trochę mało ale wlutowałem 24C256 i teraz jest z zapasem
    Używanie pamięci EEPROM 24C32N w module DS3231 - Adres, zapis i odczyt danych, program BASCOM-AVR20221231_0..021.jpg Download (854.5 kB)
    Zamiast bateri zastosowałem kondensator 1.5F
    Używanie pamięci EEPROM 24C32N w module DS3231 - Adres, zapis i odczyt danych, program BASCOM-AVR20221231_0..005.jpg Download (958.29 kB)

    Teraz tylko większy wyświetlacz muszę zakupić Używanie pamięci EEPROM 24C32N w module DS3231 - Adres, zapis i odczyt danych, program BASCOM-AVR20221230_2..721.jpg Download (2.55 MB)
    Używanie pamięci EEPROM 24C32N w module DS3231 - Adres, zapis i odczyt danych, program BASCOM-AVR20221231_0..923.jpg Download (1.04 MB)
    Pozdrawiam majsterkowiczów.
REKLAMA