24 #include <avrio/defs.h> 72 #define SPI_REG_RW_BIT 7 169 void vSpiMasterXfer (
const uint8_t * tx_buffer, uint8_t tx_len, uint8_t *rx_buffer, uint8_t rx_len);
207 # if defined(__DOXYGEN__) 283 register uint8_t ucDummy __attribute__ ((unused));
318 # include "avrio-config.h" 320 # ifdef AVRIO_SPI_ENABLE 322 # include "avrio-board-spi.h" 328 vSpiBoardSetSsAsInput ();
335 vSpiBoardSetSsAsOutput ();
eSpiFclkDiv
Facteur de division de l'horloge SPI.
void vSpiDisable(void)
Invalide le bus SPI.
eSpiBitOrder
Ordre des bits.
void vSpiSetMode(eSpiMode eMode)
Modification du mode de fonctionnement.
void vSpiSetBitOrder(eSpiBitOrder eOrder)
Modification de l'ordre des bites.
void vSpiMasterXfer(const uint8_t *tx_buffer, uint8_t tx_len, uint8_t *rx_buffer, uint8_t rx_len)
Lecture/Ecriture d'un bloc octets.
void vSpiSetSsAsOutput(void)
Configure la broche SS en sortie à l'état haut.
void vSpiMasterWriteRegBlock(uint8_t reg, const uint8_t *buf, uint8_t len)
Ecriture d'un bloc de registres.
uint8_t ucSpiMasterReadReg8(uint8_t reg)
Lecture d'un registre 8 bits.
uint8_t ucSpiMasterWriteRead(uint8_t ucByte)
Transmission SPI.
void vSpiEnable(void)
Valide le bus SPI et remets à zéro le drapeau d'interruption SPI.
void vSpiSetSsAsInput(void)
Configure la broche SS en entrée avec résistance de pull-up.
void vSpiMasterWriteReg8(uint8_t reg, uint8_t data)
Ecriture d'un registre 8 bits.
void vSpiClearIF(void)
Remets à zéro le drapeau d'interruption SPI.
void vSpiSetSs(void)
Affirme la broche SS (SS = 0 -> validé)
void vSpiMasterInit(eSpiFclkDiv eFclkDiv)
Initialise le module SPI en mode maître.
void vSpiMasterWrite(uint8_t ucByte)
Ecriture SPI.
void vSpiClearSs(void)
Désaffirme la broche SS (SS = 1 -> invalidé)
void vSpiMasterReadRegBlock(uint8_t reg, uint8_t *buf, uint8_t len)
Lecture d'un bloc de registres.
#define _BV(n)
Renvoie un masque avec le bit de rang n à 1.
uint8_t ucSpiMasterRead(void)
Lecture SPI.