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

Atmega 644P - diagnostyka SPI sprzętowe i programowe

uczesietak 15 Mar 2012 15:21 1878 4
REKLAMA
  • #1 10680673
    uczesietak
    Poziom 10  
    Witaski Panowie i Panie :)

    Wiele szukałem, niestety bez skutku prostego programiku, który to sprawdziłby, czy SPI w mojej ATmedze jest sprawne.
    Tak więc zamieszczam dwa proste programiki, które sprawdzają poprawność działania SPI


    Test SPI sprzętowego


    Kod: text
    Zaloguj się, aby zobaczyć kod



    Test SPI programowego

    Kod: text
    Zaloguj się, aby zobaczyć kod



    Przykład wyprowadzeń SPI w układzie ADS 7843

    Atmega 644P - diagnostyka SPI sprzętowe i programowe

    Przy sprzętowym podłącz diodę do pinu B.5 portu B, natomiast przy programowym do pinu D.1 portu D.

    W obu przypadkach dioda będzie mrugała co 0,5 sekundy.

    Jako emulator portu COM polecam Terminal




    Mam nadzieję, iż przyda się wynik mojej pracy.

    PS. Jest to tylko sprawdzenie SPI - DOUT(MISO), czyli wyjście.
    Jak będę miał czas to napiszę i wejście SPI - DIN (MOSI)
    Oczywiście model ATmegi nie ma znaczenia, istotna jest konfiguracja SPI.

    Pozdrawiam :)
  • REKLAMA
  • #2 10680697
    Bruce^666
    Poziom 15  
    A nie lepiej zapętlić sobie MOSI do MISO ? i wysyłać coś i odbierać jednocześnie ?
  • REKLAMA
  • #3 10680708
    uczesietak
    Poziom 10  
    Dopiero się uczę:P

    Dodano po 15 [minuty]:

    Bruce to Ty pisałeś na temat mojego SPI w innym moim poście, prawda ?
    Otóż jestem jutro ustawiony z kolegą, który ma oscyloskop i sprawdzi mi wyjścia SPI w mojej ATmedze :spoko:

    Dodano po 1 [minuty]:

    Eeee no tak, zapętlić, ale muszę podać jakiś bajt na MOSI.

    Dodano po 1 [minuty]:

    Aha i ADS 7843 w panelu.
  • REKLAMA
  • #4 10681006
    Bruce^666
    Poziom 15  
    NO normalnie wysyłasz coś, skoro ci SPI działał wcześniej to umiesz to zrobić, i odebrać też chyba umiesz, nie potrzeba oscyloskopu.

    Można też zrobić tak:
    Prosty kod piszesz który NON stop wysyła dane, bierzesz multimetr i mierzysz napięcie(proporcjonalne do wypełnienia) ;) proste.

    Mam dostęp do oscyloskopu ale czasem szybciej takie rzeczy można sprawdzić w prosty sposób. Co innego debbugowanie SPI.

    Ciebie interesuje czy SPI nie jest ubite, znaczy czy nie upaliłeś nużki procka.
  • #5 10681049
    uczesietak
    Poziom 10  
    Mam przez to rozumieć, iż Spiin Bajt , 1 wysyłam paczkę bajtów na pin MISO ?

    Przykład :

    Dim Tablica_SPI(10) As Byte
    Spiin Tablica_SPI(1) , 7

    Dodano po 1 [minuty]:

    Kurcze, chyba jednak padł ADS 7843 w panelu :(
REKLAMA