Diferencia entre revisiones de «SPI»
(→Sintaxis) |
(→Sintaxis) |
||
Línea 15: | Línea 15: | ||
* ¿Cual es la máxima velocidad del dispositivo? Esto es controlado por el primer parámetro in el SPISetting. Si se usa un chip a 15MHz, use 15000000. Arduino automaticamente usará la mejor velocidad igual o menor que esta. | * ¿Cual es la máxima velocidad del dispositivo? Esto es controlado por el primer parámetro in el SPISetting. Si se usa un chip a 15MHz, use 15000000. Arduino automaticamente usará la mejor velocidad igual o menor que esta. | ||
* ¿Estan los datos desplazados (shifted) en el mayor Most Significant Bit (MSB) o menor Least Significant Bit (LSB)? Esto es controlado por el segundo parámetro del SPISetting, o sea MSBFIRTS o LSBFIRTS. La mayoría de chip SPI usan el MSB. | * ¿Estan los datos desplazados (shifted) en el mayor Most Significant Bit (MSB) o menor Least Significant Bit (LSB)? Esto es controlado por el segundo parámetro del SPISetting, o sea MSBFIRTS o LSBFIRTS. La mayoría de chip SPI usan el MSB. | ||
− | * ¿Esta el reloj de datos con alto o bajo? Este modo es controlado por el tercer parámetro del SPISetting. | + | * ¿Esta el reloj de datos con alto o bajo? ¿Hay muestras en el borde ascendente o descendente de los pulsos de reloj? Este modo es controlado por el tercer parámetro del SPISetting. |
== Métodos == | == Métodos == |
Revisión del 11:12 19 jun 2018
Contenido
Descripción
La librería permite comunicarse con dispositivos SPI, usando Arduino como elemento maestro (master) Serial Peripheral Interface (SPI) es un protocolo de de comunicación serie rápida entre dispositivos a corta distancia. Aparte de entre Arduino y periféricos, también permite comunicación entre microcontroladores. En una comunicación SPI hay siempre un maestro (master) que controla los periféricos. Típicamente hay tres líneas de control comunes a todos los elementos-
- MISO (Master In Slave Out)- Línea para mandar datos al maestro desde el esclavo
- MOSI (Master Out Slave IN)- Línea para mandar datos a los periféricos
- SCK (Serial Clock)- Pulsos de reloj para sincronizar la transmisión de datos generada por el maestro a una línea específica de cada periférico.
- SS (Slave Select)- El pin en cada periférico que el maestro activa o desactiva para que los datos lleguen al dispositivo que queremos.
Cuando el SS (Slave Select) esta bajo (low), el comunica con el maestro y lo ignora cuando esta en alto (high). Esto nos permite tener múltiples dispositivos compartiendo las mismas líneas de MISO, MOSI y CLK.
Placas aplicables
Sintaxis
Para escribir código para un dispositivo SPI hay que saber unas pocas cosas.
- ¿Cual es la máxima velocidad del dispositivo? Esto es controlado por el primer parámetro in el SPISetting. Si se usa un chip a 15MHz, use 15000000. Arduino automaticamente usará la mejor velocidad igual o menor que esta.
- ¿Estan los datos desplazados (shifted) en el mayor Most Significant Bit (MSB) o menor Least Significant Bit (LSB)? Esto es controlado por el segundo parámetro del SPISetting, o sea MSBFIRTS o LSBFIRTS. La mayoría de chip SPI usan el MSB.
- ¿Esta el reloj de datos con alto o bajo? ¿Hay muestras en el borde ascendente o descendente de los pulsos de reloj? Este modo es controlado por el tercer parámetro del SPISetting.
Métodos
Advertencias
Tener en cuenta que el estandar para SPI no existe y su implementación varia levemente entre dispositivos. Hay que leer la hoja de datos de cada uno.