Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

PCF8583 brak komunikacji z procesorem po magistrali I2C .

22 Sty 2008 23:54 2025 14
  • #1 22 Sty 2008 23:54
    75298
    Usunięty  
  • #2 23 Sty 2008 13:43
    l3sz3k
    Poziom 18  

    Twój kod jest nieczytelny, szkoda czasu na jego rozczajanie.
    Jeśli nie potrafisz znaleźć błędu to skorzystaj z "działających" gotowych funkcji (bibliotek).

  • #3 28 Sty 2008 01:25
    coberr
    Poziom 19  

    menetm napisał:
    S
    -PCF generuje przerwania i jest dobrze podłączony (SDA, SCL podciągnięte przez 47k do zasilania)
    -przy próbie odczytu dostaje 0xFF, a najlepszym razie 0x7F

    Próbowałem wszystkiego, wymieniłem nawet układ i płytkę


    Nieszczęsny kod:


    najwyrazniej nie wszystkiego :)

    czy te rezystory to napewno 47K a nie 4,7k?
    standardowe rezystory podciagające według specyfikacji to 4,7k do 10k
    Kodu niestety nie przeanalizuję - nie znam C

  • #4 28 Sty 2008 08:00
    Ch.M.
    Poziom 27  

    0x7F oznacza, że masz błąd w programie (nie potwierdzasz odbioru bitem ACK albo coś koło tego) Rezystory to raczej zastosuj małe a nie takie ogromne. Przy 1k wyciągniesz bez problemu 500kHz na SCL. Jeśli chcesz oszczędzać energię to podciągaj je poprzez diodę do baterii (lub do Vcc, w każdym razie potrzeba dwóch diód). Kody działających programów znajdziesz na elektrodzie, musisz tylko je przeanalizować :)
    Pozdrawiam

  • #5 28 Sty 2008 09:41
    zagwizdow
    Poziom 17  

    Dorzuc na poczatku przed odczytem start/stop bo moze po resecie jest jakis dziwny stan.
    Zamiast funkcji do sda/scl mozesz wrzucic makra

  • #6 28 Sty 2008 10:04
    markosik20
    Poziom 33  

    menetm napisał:
    Nieszczęsny kod:


    Potwierdzam :wink:. Masz taki bałagan że niewiadomo co do czego. Musisz to wszystko sobie poukładać (zobacz jak to robią inni). Do ustawiania pinów portu wykorzystaj makra, nazwij funkcje zgodnie z tym co mają robić. I reaguj opdpowiednio na ACK bo po to on jest żeby weryfikować transmisję.

  • #7 29 Sty 2008 13:46
    75298
    Usunięty  
  • #8 29 Sty 2008 14:28
    markosik20
    Poziom 33  

    A dostajesz ACK z PCF'a? Oczywiście adres EEPROM'a i PCF'a są róźne?

  • #9 29 Sty 2008 19:24
    danx86
    Poziom 2  

    Również mam problem z PCFem i ATMega32. Wykorzystałem wizarda z codevision i jedną funkcję do wyświetlania liczby, znalezioną w trakcie poszukiwań rozwiązania tego problemu w Internecie.

    schemat połączenia PCFa wygląda tak:
    http://www.danx.atupartner.pl/pcf.png

    SCL podłączone do PD6
    SDA podłączone do PD7
    (nie wiem czy to ma związek z opisanymi w specyfikacji wyprowadzeniami SDA i SCL procesora?)

    niestety na wyświetlaczu mam ciągle 0:00:00:00

    dioda led miga z częstotliwością 1Hz więc mam wrażenie, że PCF żyje, jednak nie mogę się z nim skomunikować :/

    testowy kod wygląda tak:
    http://www.danx.atupartner.pl/mega32_pcf.txt

    jest to moje pierwsze starcie z i2c więc nie jestem w temacie. Ktoś ma pomysł co robię źle? Z góry dzięki za pomoc.

  • #10 29 Sty 2008 19:27
    75298
    Usunięty  
  • #11 29 Sty 2008 23:35
    danx86
    Poziom 2  

    ok. zjechałem do poziomu obsługi PCFa przez bibliotekę i2c.h i ręcznie obsłużyłem transmisję. wszystko zaczęło działać.

  • #12 29 Sty 2008 23:40
    75298
    Usunięty  
  • Pomocny post
    #13 30 Sty 2008 02:33
    d.d
    Poziom 20  

    ja niedawno odpaliłem rtc na twi i działa świetnie
    na stronie radzio.dxp.pl są podane procedury do twi
    sprawdzałem je i działają

    nie wiem czy wiesz ale PCF w przeciwieństwie do eeprom adres+1 to odczyt więc jeśli masz adres A2 to do niego zapisujesz a z pod A3 czytasz

  • #14 30 Sty 2008 07:44
    75298
    Usunięty  
  • #15 31 Sty 2008 14:37
    Ch.M.
    Poziom 27  

    Oczywiście, że tak. Korzystam z ASM i sprzętowego TWI. Co prawda musiałem znależć/dopisać coś do tego kodu co jest w pdfie (atmel o czymś zapomniał) ale przy testach wyciągam 500kbps z PCF8583

TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo