Go Down

Topic: Enviar enteros, arrays con SPI [solucionado] (Read 1 time) previous topic - next topic

miniduino

May 11, 2012, 12:14 pm Last Edit: May 12, 2012, 09:03 am by miniduino Reason: 1
Hola foro sigo con el tema del SPI y me encuentro perdido pues no encuentro informacion con enviar enteros o arrays de un dispositivo spi a otro. Conoceis algun tuto preferiblemente en castellano donde lo explique ?.
http://arduinadas.blogspot.com/

jorgepl

SPI es un protocolo de envio de datos serie en el que un dispositivo maestro envía datos a dispositivos esclavos y estos le responden cuando el maestro quiere (el maestro es el marca los pulsos del reloj del bus).

http://es.wikipedia.org/wiki/Serial_Peripheral_Interface

Si tienes implementado el protocolo SPI en el Arduino, todo lo que está enviando el maestro por el puerto SPI son datos que el/los esclavos reciben, si envias enteros o arrays de enteros, será lo que reciban.

Para utilizar SPI en Arduino....
http://www.arduino.cc/playground/Code/Spi

Para "traducirlo"....
http://translate.google.es/translate?sl=en&tl=es&js=n&prev=_t&hl=es&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.arduino.cc%2Fplayground%2FCode%2FSpi

miniduino

#2
May 11, 2012, 12:38 pm Last Edit: May 11, 2012, 12:59 pm by miniduino Reason: 1
Perdon. Me he explicado mal! Se enviar bytes pero no más que eso. Aunque creo que la solucón es la misma pregunta. Es decir deberé convertir lo que quiero enviar a bytes recogerlo y reconstruirlo. Supongo que es esto. De todos modos para no reinventar la rueda o meterme en camisas de once varas prefiero consultarlo con vosotros ya que yo y google nos llevamos muy mal, fatal pues no debo tener ni idea ya que no encuentro nada.

pd: estoy seguro que en la libreria SD.h deberia estar la solución pero ni aun así la encuentro.

Quizas unos docus mas escuetos que estos mejor... pero voy a tirar de veta
http://www.atmel.com/Images/doc2585.pdf
http://www.atmel.com/Images/doc1108.pdf
http://arduinadas.blogspot.com/

jorgepl

SD? Si vas a leer/escribir en una memoria SD, vale, pero si vas a utilizar cualquier otro dispositivo SPI...mejor mira SPI.h

Una vez está configurada la comunicación SPI, tienes la función SPI.transfer() para enviar datos.
http://arduino.cc/en/Reference/SPITransfer

También tienes el ejemplo del potenciometro digital que te puede servir para ver como enviar datos
http://arduino.cc/en/Tutorial/SPIDigitalPot

En cuanto al formato de los datos, es lo que has dicho. Si quieres enviar un array de enteros, debes enviarlo byte a byte, y cuando lo recibas reconstruirlo.

miniduino

Gracias por vuestras respuestas. Como tutorial preferi partir de este http://www.gammon.com.au/forum/?id=10892 no sin antes empaparme bastante del tema.
http://arduinadas.blogspot.com/

Go Up