Funciones SPI

Funciones de la biblioteca SPI

SPISettings

Descripción:
El objeto SPISettings se utiliza para configurar el puerto SPI para su dispositivo SPI. Los 3 parámetros se combinan en un solo objeto SPISettings, que resulta una SPI.beginTransaction ().

Cuando todos los ajustes son constantes, SPISettings debe ser utilizado directamente en SPI.beginTransaction (). Vea la sección siguiente sintaxis. Para las constantes, los resultados de esta sintaxis son un código más pequeño y más rápido.


Si alguno de sus ajustes son variables, es posible crear un SPISettings objeto que mantenga los 3 niveles. A continuación, puede dar el nombre de objeto a SPI.beginTransaction (). La creación de un nombre SPISettings objeto puede ser más eficiente cuando sus valores no son constantes, sobre todo si la velocidad máxima es una variable calculada o configurada, en lugar de un número que se escribe directamente en el programa.

Sintaxis:
SPI.beginTransaction (SPISettings (14000000, MSBFIRST, SPI_MODE0))
Nota: Es mejor si los 3 parámetros son constantes

SPISettings mySettting (speedMaximum, dataOrder, DataMode)

Nota: Es mejor cuando cualquier ajuste es una variable ''

Parámetros:
speedMaximum: La velocidad máxima de comunicación. Para un chip SPI nominal de hasta 20 MHz, utilice 20000000.
dataOrder: MSBFIRST or LSBFIRST

DataMode: SPI_MODE0, SPI_MODE1, SPI_MODE2, o SPI_MODE3

Retornos:
Ninguno
________________________________________________________________________

begin()

Descripción:
Inicializa el bus SPI mediante la configuración de SCK, MOSI, y SS como salidas, activando las resistencias pulldown de SCK y MOSI,  y la resistencia pullup de SS.

Sintaxis:
SPI.begin()

Parámetros:
Ninguno

Retornos:
Ninguno
________________________________________________________________________

end()

Descripción:
Desactiva el bus SPI (dejando los modos de los pines sin cambios).

Sintaxis:
SPI.end()

Parámetros:
Ninguno

Retornos:
Ninguno
________________________________________________________________________

beginTransaction()

Descripción:
Inicializa el bus SPI usando los SPISettings definidos.

Sintaxis:
SPI.beginTransaction(mySettings);

Parámetros:
MySettings: los ajustes elegidos en la función SPISettings.

Retornos:
Ninguno
________________________________________________________________________

endTransaction()

Descripción:
Deja de usar el bus SPI. Normalmente esto se llama después de confirmar la selección de chip, para permitir que otras bibliotecas utilcen el bus SPI.

Sintaxis:
SPI.endTransaction()

Parámetros:
Ninguno

Retornos:
Ninguno
________________________________________________________________________

setBitOrder()

Descripción:
Esta función no se debe utilizar en nuevos proyectos. Utilice SPISettings con SPI.beginTransaction () para configurar los parámetros de SPI.


Establece el orden de los bits desplazados desde y hacia el bus SPI, ya sea LSBFIRST (bit menos significativo en primer lugar) o MSBFIRST (bit más significativo en primer lugar).

Sintaxis:
SPI.setBitOrder(order)

Parámetros:
order: LSBFIRST o MSBFIRST

Retornos:
Ninguno
________________________________________________________________________

setClockDivider()

Descripción:
Esta función no se debe utilizar en nuevos proyectos. Utilice SPISettings con SPI.beginTransaction () para configurar los parámetros de SPI.

Establece el reloj divisor de SPI con respecto al reloj del sistema. En las placas base AVR, los divisores disponibles son 2, 4, 8, 16, 32, 64 o 128. El ajuste predeterminado es SPI_CLOCK_DIV4, que fija el reloj SPI a un cuarto de la frecuencia del reloj del sistema (4 Mhz para las tablas a 16 MHz).

Arduino Due

En el Due, el reloj del sistema se puede dividir por valores de 1 a 255. El valor por defecto es 21, que establece el reloj de 4 MHz como otras placas Arduino.

Sintaxis:
SPI.setClockDivider(divider)

Parámetros:
divider:
SPI_CLOCK_DIV2
SPI_CLOCK_DIV4
SPI_CLOCK_DIV8
SPI_CLOCK_DIV16
SPI_CLOCK_DIV32
SPI_CLOCK_DIV64
SPI_CLOCK_DIV128
(On AVR boards)
slaveSelectPin:  slave device SS pin          (solo Arduino Due)

divider:              un número de 1 to 255  (solo Arduino Due)

Retornos:
Ninguno
________________________________________________________________________

setDataMode()()

Descripción:
Esta función no se debe utilizar en nuevos proyectos. Utilice SPISettings con SPI.beginTransaction () para configurar los parámetros de SPI.


Establece el modo de datos SPI: es decir, la polaridad del reloj y la fase. Véase el artículo de  Wikipedia  SPI  para más detalles.

Sintaxis:
SPI.setDataMode(mode)

Parámetros:
mode:
SPI_MODE0
SPI_MODE1
SPI_MODE2
SPI_MODE3

slaveSelectPin slave device SS pin (solo Arduino Due)

Retornos:
Ninguno
________________________________________________________________________

transfer(), transfer16()

Descripción:
La transferencia SPI se basa en un envío y recepción simultáneos: los datos recibidos se devuelven en receivedVal (o receivedVal16). En el caso de transferencias de búfer los datos recibidos se almacenan en una ubicación de la memoria intermedia (los datos antiguos se sustituyen por los datos recibidos).

Sintaxis:
receivedVal = SPI.transfer(val)
receivedVal16 = SPI.transfer16(val16)

SPI.transfer(buffer, size)

Parámetros:
val: el byte a enviar por el bus
val 16: la variable de dos bytes a enviar apor el bus

buffer: la matriz de datos a transferir

Retornos:
Los datos recibidos
________________________________________________________________________

usingInterrupt()()

Descripción:
Si el programa llevara a cabo transacciones SPI dentro de una interrupción, llamar a esta función para registrar el número de interrupción o el nombre de la biblioteca SPI. Esto permite que SPI.beginTransaction () tenga conflictos de uso. Tenga en cuenta que la interrupción especificada en la llamada a usingInterrupt () se desactivará tras una llamada a beginTransaction () y vuelve a habilitarse con endTransaction ().

Sintaxis:
SPI.usingInterrupt(interruptNumber)

Parámetros:
interruptNumber: el número de interrupción asociado.

Retornos:
Ninguno


No hay comentarios:

Publicar un comentario