Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[atmega8][c] Zapis i odczyt z rejestrów 74HC595/165 (programowe SPI)

esane 17 Lut 2012 18:56 2383 1
  • #1 17 Lut 2012 18:56
    esane
    Poziom 7  

    Witam,

    Proszę o pomoc w rozwiązaniu problemu z odczytem z rejestru 74HC165. Układ wygląda jak na załączonym schemacie. Oba rejestry pracują ze wspólnym CLK oraz LATCH (najpierw czytam, potem wysyłam, wiec to chyba nie problem). SPI obsługiwane jest programowo. Zapis działa poprawnie, ale przy próbie odczytu mam same zera, poza przypadkiem kiedy wciśnięty jest ostatni przycisk - wtedy odczytuje same jedynki. Poprawność połączeń wielokrotnie sprawdzana, zarówno mikrokontroler jak i rejestry zasilane są dobrze odfiltrowanym napięciem. Niżej załączam kod programu.

    Co może być przyczyną takiego zachowania? Kod również wiele razy sprawdzałem, zdaje się być w porządku, więc może sam rejestr jest do wymiany?

    Kod: c
    Zaloguj się, aby zobaczyć kod


    [atmega8][c] Zapis i odczyt z rejestrów 74HC595/165 (programowe SPI)

    Pozdrawiam i z góry dziękuje za poświęcony czas.

    edit: rezystory ograniczające prąd przy diodach led oczywiście są, pull-upy 10k przy przyciskach również

    0 1
  • Pomocny post
    #2 17 Lut 2012 21:11
    Krauser
    Poziom 26  

    Dla 74HC165 linia ST_CP powinna być ustawiona na 1 podczas przesuwania a u Ciebie zostaje na 0. Jeśli funkcja void Trigger_Latch(void) jest dobra dla 74HC595 to w funkcji odczytu ustaw ST_CP na 1, a po zakończeniu odczytywania z powrotem na 0.

    1
  Szukaj w 5mln produktów