Go Down

Topic: Arduino e SPI (Read 499 times) previous topic - next topic

flz47655

Ciao a tutti,
Stavo convertendo l'istruzione
Code: [Select]
SPCR  = _BV(CPOL);
in "codice arduino" e pensavo di usare l'istruzione SPI.setDataMode() ma non è equivalente.. qualcuno mi può dare una mano a capire perché non è compatibile con la modalità 2 o 3?

Ciao e grazie a tutti

flz47655

Mmmhh.. che ci sia un bug?
Il comando setDataMode(2) che dovrebbe settare CPOL=1 e CPHA=0 modifica il registro SPCR da 1010000 ad 1010010...
Mentre secondo http://www.downtowndougbrown.com/2011/11/microcontrollers-spi-part-2/ dovrebbe impostare i bit 2 e 3...  :smiley-eek-blue:

flz47655

#2
Sep 23, 2012, 07:21 pm Last Edit: Sep 23, 2012, 07:23 pm by flz47655 Reason: 1
Ho scuriosato nel sorgente ed in effetti bisogna passare SPI_MODE2 alla funzione.. sicuramente la pagina http://arduino.cc/en/Reference/SPI NON è chiara su questo punto.. era però specificato su http://arduino.cc/en/Reference/SPISetDataMode  ]:D
Sarebbe stato meglio un qualcosa di più tipizzato o un qualcosa che ti fa capire che hai passato il parametro sbagliato invece di scasinare il registro SPCR e non dire niente se il parametro sbagliato è errato..

Federico Vanzati

Si hai ragione, nella tabellina nella pagina http://arduino.cc/en/Reference/SPI sarebbe meglio mettere il nome delle 4 costanti al posto dei numeri.

A breve verrà aggiornata parte della documentazione e tra i vari aggiornamenti uno è toccato anche alle pagine SPI. Integrerò anche questa modifica. Grazie
F

flz47655


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy