![]() |
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 |