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

[ATmega8][C] Potencjometr cyfrowy MCP41100 programowe SPI

Baz1988 23 Wrz 2011 15:47 1926 3
REKLAMA
  • #1 9955977
    Baz1988
    Poziom 10  
    Witam wszystkich.

    Tak jak w temacie posiadam potencjometr cyfrowy MCP41100 podłączony do Atmegi8 przez programowy SPI. Niestety pomimo licznych prób nie udało mi się skomunikować z tym potencjometrem w celu jego regulacji. Układy ATmega8 jak i potencjometr są sprawne. Domyślam się, że problem leży po stronie oprogramowania, jednakże nie wiem co jest źle, w związku z czym proszę o pomoc i ewentualne poprawienie kodu. Kod powstał na podstawie materiałów jakie udało mi się znaleźć na tym forum. Poniżej zamieszczam link do dokumentacji potencjometru i kod źródłowy programu:
    Link

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


    PS. Jestem nowym użytkownikiem tego forum dlatego proszę o wyrozumiałość. Z góry przepraszam za swoje błędy jeśli takowe wystąpiły i proszę o poprawienie ich.
  • REKLAMA
  • #2 9957745
    michalko12
    Specjalista - Mikrokontrolery
    Trochę nie bardzo wychodzi ci wysyłanie tych 16 bitów
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

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

    No i proponowałbym zamiast
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
    użyć
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
    Niby w tym przypadku to samo, ale jak przeniesiesz kiedyś ten kod na inny procesor to już niekoniecznie musi być to samo.
  • REKLAMA
  • #3 9958887
    drzasiek
    Specjalista CNC
    A i sama funkcja main() jest do kitu..
    Po co wkółko inicjalizować SPI?
    I koniecznie popraw to Co Ci wyżej napisał michalko12 bo tak jak jest to nie wysyłasz bajtu konfiguracyjnego.. tzn wysyłasz, ale jest nim bajt danych a jako bajt danych wysyłasz zera.
  • #4 9959714
    Baz1988
    Poziom 10  
    Dziękuję za pomoc i zainteresowanie tematem.
    Zastosowałem się do powyższych wskazówek i udało mi się w pełni uruchomić układ.
    Temat uważam za zamknięty.
REKLAMA