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

[Rozwiązano] Atmega8 i 74HC595 SPI - działa tylko przy dotyku przewodów

Scyś 19 Cze 2020 11:25 777 8
REKLAMA
  • #1 18768577
    Scyś
    Poziom 3  
    Witam.
    ma problem z działaniem SPI, mianowicie do Atmegi8 mam podłączony 74HC595 i wyświetlacz 8x8, rejest przesuwnu działa tylko wtedy gdy dotykam przewodów odpowiedzialnych za SPI, jak puszczam przestaje działać.
    Co może być problemem, bo przewody już zmieniałem?
  • REKLAMA
  • #2 18768606
    hajy
    Poziom 21  
    Witam
    A my co wróżki?
    Schemat, zdjęcia jak połączone, i program.
    Co z pinem SS(PB2) jak wisi w powietrzu i używasz sprzętowego SPI to się może przełączyć w tryb slave.
    Pozdrawiam
  • REKLAMA
  • #3 18768639
    Scyś
    Poziom 3  
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Wcześniej pracowałem na tym samym kodzie i wszystko działało tylko zamiast 8x8 był wyświetlacz 7 segmentowy.
  • REKLAMA
  • #5 18769046
    Scyś
    Poziom 3  
    Atmega8 i 74HC595 SPI - działa tylko przy dotyku przewodów
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Atmega8 i 74HC595 SPI - działa tylko przy dotyku przewodów
  • REKLAMA
  • #6 18769132
    hajy
    Poziom 21  
    Brakuje kondensatora filtrującego zasilanie dla HC595, co w połączeniu ze słabym kontaktem na płytce stykowej może powodować problem.
    Możesz spróbować zwolnic transmisje SPI.
  • #7 18771465
    Scyś
    Poziom 3  
    Zmieniłem układa na atmege32 i problem został, ale zauważyłem że jak odepnę przewód od MISO w atmedze a w 74 zostawię i tak będzie sobie wisiał w powietrzu to działa, jak odepnę od 74 to też przestaje działać.
    Krótko mówiąc, jak mam podłączony przewód do 12 pinu 74HC595 (ST_CP/MISO) i wisi w powietrzu (nie jest zwarty do masy czy VCC) to układ działa.
    Podsyłam jeszcze nowy Kod
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    #8 18772138
    JarekC
    Poziom 32  
    W momencie gdy włączasz tryb MASTER dla SPI to pin MISO automatycznie staje się wejściem (karta katalogowa ATMEGA32 Tabela 55),
    tym samym nie możesz go używać do sterowania ST_CP.
    Makro ST_CP_HIGH w tym momencie włącza Pull-Up dla MISO czyli masz '1' na wyjściu ale a ST_CP_LOW tylko wyłącza Pull-Up więc pin ST_CP wisi w powietrzu.
    Przepnij pin ST_CP na inny pin procesora.
  • #9 18773551
    Scyś
    Poziom 3  
    wcześniej tego nie zauważyłem ale powiniemem podpiąć to do pinu SS, tak zrobiłem i działa wszystko jak należy.
REKLAMA