![]() |
SysIo
1.9.0
Embedded Library and tools
|
Ce module fournit les fonctions permettant d'accéder au bus SPI.
Classes | |
struct | xSpiIos |
Functions | |
int | iSpiClose (int fd) |
Fermeture d'une connexion vers un circuit SPI. More... | |
int | iSpiGetConfig (int fd, xSpiIos *config) |
Lecture configuration. More... | |
int | iSpiOpen (const char *device) |
Ouverture d'une connexion vers un circuit SPI. More... | |
int | iSpiRead (int fd, uint8_t *buffer, uint8_t len) |
Lecture d'un bloc octets. More... | |
int | iSpiReadReg8 (int fd, uint8_t reg) |
Lecture d'un registre 8 bits. More... | |
int | iSpiReadRegBlock (int fd, uint8_t reg, uint8_t *buffer, uint8_t len) |
Lecture d'un bloc de registres. More... | |
int | iSpiSetConfig (int fd, const xSpiIos *config) |
Lecture configuration. More... | |
int | iSpiWrite (int fd, uint8_t *buffer, uint8_t len) |
Ecriture d'un bloc octets. More... | |
int | iSpiWriteReg16 (int fd, uint8_t reg, uint16_t data) |
Ecriture d'un registre 16 bits. More... | |
int | iSpiWriteReg8 (int fd, uint8_t reg, uint8_t data) |
Ecriture d'un registre 8 bits. More... | |
int | iSpiWriteRegBlock (int fd, uint8_t reg, const uint8_t *buffer, uint8_t len) |
Ecriture d'un bloc de registres. More... | |
int | iSpiXfer (int fd, uint8_t *tx_buffer, uint8_t tx_len, uint8_t *rx_buffer, uint8_t rx_len) |
Lecture/Ecriture d'un bloc octets. More... | |
long | lSpiReadReg16 (int fd, uint8_t reg) |
Lecture d'un registre 16 bits. More... | |
Macros | |
#define | SPI_CPHA 0x01 |
#define | SPI_CPOL 0x02 |
#define | SPI_REG_RW_BIT 7 |
Typedefs | |
typedef struct xSpiIos | xSpiIos |
Enumerations | |
enum | eSpiBits { eSpiBits8 = 8, eSpiBits7 = 7, eSpiBitsNotSet = -1 } |
Nombre de bits par mot. More... | |
enum | eSpiMode { eSpiMode0 = (0|0), eSpiMode1 = (0|SPI_CPHA), eSpiMode2 = (SPI_CPOL|0), eSpiMode3 = (SPI_CPOL|SPI_CPHA), eSpiModeNotSet = -1 } |
Mode SPI. More... | |
enum | eSpiNumbering { eSpiNumberingMsb = 0, eSpiNumberingLsb = 1, eSpiNumberingNotSet = -1 } |
Ordre des bits. More... | |
#define SPI_CPHA 0x01 |
#define SPI_CPOL 0x02 |
#define SPI_REG_RW_BIT 7 |
enum eSpiBits |
enum eSpiMode |
#include <spi.h>
Mode SPI.
Différents modes
SPI Mode | POL | PHA | 1er front | 2ème front |
---|---|---|---|---|
0 | 0 | 0 | montant, échantillonnage | descendant, changement état |
1 | 0 | 1 | montant, changement état | descendant, échantillonnage |
2 | 1 | 0 | descendant, échantillonnage | montant, changement état |
3 | 1 | 1 | descendant, changement état | montant, échantillonnage |
cf Wikipedia
Enumerator | |
---|---|
eSpiModeNotSet |
Non modifié |
Definition at line 44 of file spi.h.
enum eSpiNumbering |
int iSpiClose | ( | int | fd | ) |
#include <spi.h>
Fermeture d'une connexion vers un circuit SPI.
fd | descripteur de fichier vers la connexion ouverte |
int iSpiGetConfig | ( | int | fd, |
xSpiIos * | config | ||
) |
#include <spi.h>
Lecture configuration.
fd | descripteur de fichier vers la connexion ouverte |
config | configuration de la connexion (lue) |
int iSpiOpen | ( | const char * | device | ) |
#include <spi.h>
Ouverture d'une connexion vers un circuit SPI.
device | nom du fichier d'accès au bus SPI (par exemple /dev/spidev0.1, 0 pour le numéro de bus, 1 pour le numéro de broche CS) |
config | configuration de la connexion |
int iSpiRead | ( | int | fd, |
uint8_t * | buffer, | ||
uint8_t | len | ||
) |
#include <spi.h>
Lecture d'un bloc octets.
fd | descripteur de fichier vers la connexion ouverte |
buffer | pointeur vers la zone de stockage des octets, la taille doit être suffisante pour y stocker le nombre d'octets demandés. |
len | nombre d'octets à lire |
int iSpiReadReg8 | ( | int | fd, |
uint8_t | reg | ||
) |
#include <spi.h>
Lecture d'un registre 8 bits.
Cette fonction réalise une transmission de l'adresse du registre à lire, suivie d'une lecture d'un octet.
fd | descripteur de fichier vers la connexion ouverte |
reg | adresse du registre |
int iSpiReadRegBlock | ( | int | fd, |
uint8_t | reg, | ||
uint8_t * | buffer, | ||
uint8_t | len | ||
) |
#include <spi.h>
Lecture d'un bloc de registres.
fd | descripteur de fichier vers la connexion ouverte |
reg | adresse du premier registre |
buffer | pointeur vers la zone de stockage des octets, la taille doit être suffisante pour y stocker le nombre d'octets demandés. |
len | nombre de registres à lire |
int iSpiSetConfig | ( | int | fd, |
const xSpiIos * | config | ||
) |
#include <spi.h>
Lecture configuration.
fd | descripteur de fichier vers la connexion ouverte |
config | configuration de la connexion |
int iSpiWrite | ( | int | fd, |
uint8_t * | buffer, | ||
uint8_t | len | ||
) |
#include <spi.h>
Ecriture d'un bloc octets.
fd | descripteur de fichier vers la connexion ouverte |
buffer | pointeur vers la zone de stockage des octets |
len | nombre d'octets à écrire |
int iSpiWriteReg16 | ( | int | fd, |
uint8_t | reg, | ||
uint16_t | data | ||
) |
#include <spi.h>
Ecriture d'un registre 16 bits.
fd | descripteur de fichier vers la connexion ouverte |
reg | adresse du registre |
data | valeur du mot |
int iSpiWriteReg8 | ( | int | fd, |
uint8_t | reg, | ||
uint8_t | data | ||
) |
#include <spi.h>
Ecriture d'un registre 8 bits.
fd | descripteur de fichier vers la connexion ouverte |
reg | adresse du registre |
data | valeur de l'octet |
int iSpiWriteRegBlock | ( | int | fd, |
uint8_t | reg, | ||
const uint8_t * | buffer, | ||
uint8_t | len | ||
) |
#include <spi.h>
Ecriture d'un bloc de registres.
fd | descripteur de fichier vers la connexion ouverte |
reg | adresse du premier registre |
buffer | pointeur vers la zone de stockage des octets |
len | nombre d'octets à écrire |
int iSpiXfer | ( | int | fd, |
uint8_t * | tx_buffer, | ||
uint8_t | tx_len, | ||
uint8_t * | rx_buffer, | ||
uint8_t | rx_len | ||
) |
#include <spi.h>
Lecture/Ecriture d'un bloc octets.
fd | descripteur de fichier vers la connexion ouverte |
tx_buffer | pointeur vers la zone de stockage des octets |
tx_len | nombre d'octets à écrire |
rx_buffer | pointeur vers la zone de stockage des octets, la taille doit être suffisante pour y stocker le nombre d'octets demandés. |
rx_len | nombre d'octets à lire |
long lSpiReadReg16 | ( | int | fd, |
uint8_t | reg | ||
) |
#include <spi.h>
Lecture d'un registre 16 bits.
Cette fonction réalise une transmission de l'adresse du registre à lire, suivie d'une lecture de 2 octets
fd | descripteur de fichier vers la connexion ouverte |
reg | adresse du registre |