Arduino Polska Forum

Pełna wersja: Arduino UNO SPI ustawienie częstotliwości
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Chciałem coś przetestować przez UNO i nie mogę zejść  na wymagane 10kHz  zegara.  

SPI.setClockDivider(SPI_CLOCK_DIV64);

Próbowałem tym w ogóle nie działa.


SPI.beginTransaction(SPISettings(10000, MSBFIRST, SPI_MODE2));

A tym zejdę najniżej 125Khz  mniej już nie przyjmuje choć bym nie wiem co wpisał i tak będzie najniżej 125Khz.  Ustawienie od 8Mhz do 125Khz działa.
Nawet jak byś podzielił przez 1024 to miałbyś 16kHz. Czemu Cię dziwi, że jak podzielisz przez 128 to masz 125kHz? Wygląda że działa prawidłowo, ustaw sobie zegar procesora na 1MHz to osiągniesz te swoje 10kHz (okolice). Dla 10k możesz poszukać sobie jakiegoś softowego SPI.
A bo spisettings wprowadził mnie w błąd myślałem że pierwszy parametr jest do ustawiania częstotliwości max jaką się chce bo tak jest opisane, a to nic innego jak ustawienie dzielnika to samo co SPI_CLOCK_DIV tylko w postaci końcowej.

Robiłem to samo na esp8266 i tam to wystarczyło wpisać w set frequency co się chce i myślałem że tu podobnie.

Na razie obniżyłem zegar bo to tylko testy.