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

[ATmega16][avr-gcc] - Nieprawidłowa komunikacja SPI

kirby 26 Lut 2014 18:59 1587 4
  • #1 13348548
    kirby
    Poziom 10  
    Witam,
    staram się połączyć ze sobą dwie ATmegi za pomocą SPI. ATmega16 skonfigurowana jest jaki Master, natomiast ATmega8 jako Slave. W układzie Master staram się odczytać dane z układu Slave. Interfejs wydaje się być prostym, wykorzystałem wszystkie możliwości i nadal mam problem, który polega na tym, że cokolwiek by nie wysyłał Slave, w układzie master zawsze odbierana dana ma wartość 255.

    Układ Slave w międzyczasie obsługuje też ADC.

    Konfiguracja połączenia:
    Master -- Slave
    MISO -- MISO
    MOSI -- MOSI
    SCK -- SCK
    SS -- SS

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


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


    Wykorzystałem już chyba wszystkie możliwości. Proszę o pomoc, może ktoś znajdzie błąd...
  • Pomocny post
    #2 13348984
    Konto nie istnieje
    Poziom 1  
  • #3 13349559
    kirby
    Poziom 10  
    Bardzo dziękuję za pomoc. Wszystko działa poprawnie. Problem był w makrach - aż wstyd takiego błądu...

    Środowisko to WinAVR. Kompilator avr-gcc.
    Nie idę z duchem czasu :) Jak czytałem o przerwaniach, to były dwie funkcje SIGNAL i INTERRUPT. SIGNAL blokuje w trakcie wykonywania inne przerwania, więc tego użyłem. Jakich się teraz używa ?
REKLAMA