Witam
Mam problem z wysterowaniem potencjometru cyfrowego MCP42010 (8 bit) w wersji dual przez SPI.
Sam potencjometr z pewnością działa, bo przy poprzednich próbach wykorzystując SPI sprzętowe, podczas programowania atmegi przez ISP z komputera przy okazji programował się także potencjometr - miałem podłączoną diode LED do wyjścia potencjometru i widziałem jak zmienia sie natężenie światła.
Ostatecznie postanowiłem wykorzystać jednak SPI programowy, doszedłem do takiego kodu:
Jednak nic sie nie dzieje - po włączeniu, potencjometr załączą sie z domyślną wartością rezystancji - dioda podłączona do wyjścia świeci lekkim światłem. Czyli po prostu potencjometr nie łapie komend, bo ten sam efekt jest, kiedy nic do niego nie wyśle.
I tu nie wiem, czy mój kod do obsługi SPI ma błędy
Czy wysyłam niewłaściwe wartości do wysterowania- jeśli dobrze zrozumiałem to co jest w dokumentacji (Link) to najpierw należy wysłać komendę z odpowiednio ustawionymi bitami, określającymi co chce zrobić (odczytać; zapisać; wyłączyć) i którego kanału operacja ma dotyczyć. A następnie liczbę 0-255 określają krok ustawienia.
Każda sugestia mile widziana
Mam problem z wysterowaniem potencjometru cyfrowego MCP42010 (8 bit) w wersji dual przez SPI.
Sam potencjometr z pewnością działa, bo przy poprzednich próbach wykorzystując SPI sprzętowe, podczas programowania atmegi przez ISP z komputera przy okazji programował się także potencjometr - miałem podłączoną diode LED do wyjścia potencjometru i widziałem jak zmienia sie natężenie światła.
Ostatecznie postanowiłem wykorzystać jednak SPI programowy, doszedłem do takiego kodu:
Kod: C / C++
Jednak nic sie nie dzieje - po włączeniu, potencjometr załączą sie z domyślną wartością rezystancji - dioda podłączona do wyjścia świeci lekkim światłem. Czyli po prostu potencjometr nie łapie komend, bo ten sam efekt jest, kiedy nic do niego nie wyśle.
I tu nie wiem, czy mój kod do obsługi SPI ma błędy
Czy wysyłam niewłaściwe wartości do wysterowania- jeśli dobrze zrozumiałem to co jest w dokumentacji (Link) to najpierw należy wysłać komendę z odpowiednio ustawionymi bitami, określającymi co chce zrobić (odczytać; zapisać; wyłączyć) i którego kanału operacja ma dotyczyć. A następnie liczbę 0-255 określają krok ustawienia.
Każda sugestia mile widziana