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

Atmega32 C - Problem z zapisem danych do rtc PCF8583

mi14chal 21 Paź 2012 19:49 1332 3
REKLAMA
  • #1 11435788
    mi14chal
    Poziom 28  
    Posty: 1021
    Pomógł: 112
    Ocena: 23
    Odczytywanie godziny minut sekund dni i miesięcy działa, zapisywanie też ALE tylko godziny minut sekund nic więcej rejestry 0x05 i 0x06 nie da się zapisać. Otóż przy jakiejkolwiek próbie zapisu to rejestru 0x05 albo 0x06 odczytywanie i zapisywanie przestaje działać. Wtedy przy próbie odczytu czegokolwiek zwracane są krzaczki. Oczywiście RTC podłączone według DS. I jeszcze jedno jak podłączę zasilane to RTC startuje z początkowymi wartościami to wtedy oczywiście atmega poprawnie odczytuje dni i miesiące z tych rejestrów, ale już po jakiejkolwiek próbie zapisu wszystko przestaje działać i są wyświetlane krzaczki. Atmega taktowana 8Mhz wewnętrznym zegarem, a częstotliwość I2C to 100kHz, rezystory po 4k7 na I2C. Próbowałem też na drugim tym samym RTC dzieje się dokładnie to samo.
  • REKLAMA
  • #2 11435832
    pawel-jwe
    Poziom 30  
    Posty: 1383
    Pomógł: 123
    Ocena: 273
    mi14chal napisał:
    Atmega taktowana 8Mhz wewnętrznym zegarem

    Jak już to atmega ma wbudowany generator RC 8Mhz, który jest straszliwie niedokładny i dlatego mogą być takie problemy (już nie raz się z tym spotkałem).
    Zmień na zewnętrzny kwarc 8Mhz i powinno być OK.
  • REKLAMA
  • #3 11435987
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Raczej zegar taktujący mikrokontroler nie ma wpływu na zewnętrzny układ RTC. I2C jest magistralą synchroniczną i częstotliwość taktowania (w szerokich granicach) jest bez znaczenia. Aby rozwiązać problem proponuję pokazać jednak kod, bez tego możemy powróżyć z fusów, ale chyba nie o to chodzi :) A propos wróżenia - maskujesz nieużywane bity rejestrów?
  • #4 11436031
    mi14chal
    Poziom 28  
    Posty: 1021
    Pomógł: 112
    Ocena: 23
    Zmieniłem na 16Mhz bo taki miałem pod ręką to samo. Nie widzę sensu w pokazywaniu kodu, bo jeżeli nie używam rejestrów od dni i miesięcy to odczyt i zapis jest ok. No bo dużo jest tam kodu to chociaż sprecyzuj jaki chcesz konkretnie.
    Cytat:
    A propos wróżenia - maskujesz nieużywane bity rejestrów?

    Co masz na myśli?
REKLAMA