Witam,
Mam prośbę o pomoc do osób, które mają doświadczenie w komunikacji z potencjometrem cyfrowym AD8403.
Mam dziwny problem ze skonfigurowaniem interfejsu SPI gdyż Mikro-kontroler ustawia stany na potencjometrze ale tylko kilkadziesiąt razy po włączeniu zasilania.
Okroiłem program do testów jedynie do pętli wysyłającej po SPI i na oscyloskopie pojawia się te kilkadziesiąt przebiegów. Nawet po zaprogramowaniu (JTAG) jest cisza dopiero po odłączeniu zasilania się pojawia krótka seria.
Po tym czasie program zawisa w warunku oczekiwania na zakończenie transmisji.
Linie MOSI, CLK i CS podciągnięte opornikiem do zasilania.
Konfiguracja transmisji:
Dziwne też, że jak ustawiam inny rodzaj transmisji: z CPOL to nic nie zmienia czyli działa przez moment.
Sam program teraz to praktycznie sam pętla:
Fusebity: L: E4, H: B9 E: FF.
Jest tu ustawiane bez SPIEN, ale robiłem też z nim i nic nie dawało.
Czy SPIEN dotyczy też programowej komunikacji po SPI czy tylko wczytywania programu po SPI, bo MEGA 64 ma osobne piny do programowania szeregowego PDI, PDO?
Co może być nie tak?.
Program jak był w wersji docelowej przerwania itd.. zawsze kilka razy wysyłał dane do potencjometru (ale tylko po włączeniu zasilania a następnie wieszał się w wierszu oczekiwania na zakończenie transmisji:
Czy są jakieś szczególne ustawienia dla Mega 64?
Czy jest jakiś inny problem?
Proszę o pomoc (może jakieś linki do sprawdzonych programów) i pozdrawiam.
Mam prośbę o pomoc do osób, które mają doświadczenie w komunikacji z potencjometrem cyfrowym AD8403.
Mam dziwny problem ze skonfigurowaniem interfejsu SPI gdyż Mikro-kontroler ustawia stany na potencjometrze ale tylko kilkadziesiąt razy po włączeniu zasilania.
Okroiłem program do testów jedynie do pętli wysyłającej po SPI i na oscyloskopie pojawia się te kilkadziesiąt przebiegów. Nawet po zaprogramowaniu (JTAG) jest cisza dopiero po odłączeniu zasilania się pojawia krótka seria.
Po tym czasie program zawisa w warunku oczekiwania na zakończenie transmisji.
Linie MOSI, CLK i CS podciągnięte opornikiem do zasilania.
Konfiguracja transmisji:
Kod: C / C++
Dziwne też, że jak ustawiam inny rodzaj transmisji: z CPOL to nic nie zmienia czyli działa przez moment.
Sam program teraz to praktycznie sam pętla:
Kod: C / C++
Fusebity: L: E4, H: B9 E: FF.
Jest tu ustawiane bez SPIEN, ale robiłem też z nim i nic nie dawało.
Czy SPIEN dotyczy też programowej komunikacji po SPI czy tylko wczytywania programu po SPI, bo MEGA 64 ma osobne piny do programowania szeregowego PDI, PDO?
Co może być nie tak?.
Program jak był w wersji docelowej przerwania itd.. zawsze kilka razy wysyłał dane do potencjometru (ale tylko po włączeniu zasilania a następnie wieszał się w wierszu oczekiwania na zakończenie transmisji:
Kod: C / C++
Czy są jakieś szczególne ustawienia dla Mega 64?
Czy jest jakiś inny problem?
Proszę o pomoc (może jakieś linki do sprawdzonych programów) i pozdrawiam.
