• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino UNO SPI ustawienie częstotliwości
#1
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.
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#2
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.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
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.
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości