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

[Rozwiązano] Sterowanie MAX7219 przez SPI - nieprawidłowe wyświetlanie, konfiguracja UART/SPI

zbynio_k 26 Sty 2018 19:28 813 5
  • #1 16990725
    zbynio_k
    Poziom 10  
    Witam,
    czy ktoś sterował matrycą 8x8 lub 7seg z MAX7219 przez SPI ?? potrzebuję porady.
    Wszystko hula w trybie SPI via USART, próbuję sterować przez SPI (master) i kicha.
    Odwzorowuję konfigurację UART'a na SPI i coś wyświetla ale nie tak jak oczekuję.
    Dodam, że przez UART śmiga na 1MHz a SPI ustawiam na 500kHz (F_CPU=8MHz, preskaler 16),
    wszystkie szykany SPI ustawione.
    Odwzorowałem konfigurację SPI via USART > SPI tryb 0.
    Przeglądnąłem posty dotyczące tematu ale jakoś bez rezultatu.
    Znalazłem w necie pół tony bibliotek po SPI i wszystko robię CHYBA jak należy, ręce opadają
  • #2 16990735
    excray
    Poziom 41  
    Jakbyś załączył swój kod to można by było coś pomyśleć nad tym co jest nie tak.
  • #3 16990783
    zbynio_k
    Poziom 10  
    wiem, że kod to podstawa ale ne będę nikogo zmuszał do analizy działającego kodu pod SPI via USART więc wstawię tylko inicjację UART i SPI

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


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


    Dodano po 1 [minuty]:

    dodam, że AVR to mega 328

    Dodano po 20 [minuty]:

    i może jeszcze > send_byte
    UART via SPI
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    delay dlatego, że nie opanowałem opróżnienia bufora UARTA (próbowałem kodu z datasheeta i nic ) > ale działa

    SPI
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #4 16991369
    excray
    Poziom 41  
    Wyglądają ok. Podmieniłeś odpowiednio odwołania do CS? Jeśli możesz to pokaż jak wygląda ta funkcja która wywołuje SPI_out().
  • #5 16995115
    zbynio_k
    Poziom 10  
    chip select jest OK
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Dodano po 3 [minuty]:

    a taki test nie wyświetla cyfr na właściwej pozycji (cyfry wyświetla dobrze)
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #6 17389282
    zbynio_k
    Poziom 10  
    trawione PCB, wszystkie połączenia na taśmie
REKLAMA