SysIo  1.9.0
Embedded Library and tools
Bus I2C

Detailed Description

Ce module fournit les fonctions permettant d'accéder au bus I2C.

Collaboration diagram for Bus I2C:

Modules

 Mémoires I2C
 

Functions

int iI2cClose (int fd)
 Fermeture d'une connexion vers un circuit I2C. More...
 
int iI2cOpen (const char *device, int i2caddr)
 Ouverture d'une connexion vers un circuit I2C. More...
 
int iI2cRead (int fd)
 Lecture d'un octet. More...
 
int iI2cReadBlock (int fd, uint8_t *buffer, int size)
 Lecture d'un bloc octets. More...
 
int iI2cReadReg16 (int fd, uint8_t reg)
 Lecture d'un registre 16 bits. More...
 
int iI2cReadReg8 (int fd, uint8_t reg)
 Lecture d'un registre 8 bits. More...
 
int iI2cReadRegBlock (int fd, uint8_t reg, uint8_t *buffer, uint8_t size)
 Lecture d'un bloc de registres. More...
 
int iI2cWrite (int fd, uint8_t data)
 Ecriture d'un octet. More...
 
int iI2cWriteBlock (int fd, const uint8_t *buffer, int size)
 Ecriture d'un bloc octets. More...
 
int iI2cWriteReg16 (int fd, uint8_t reg, uint16_t data)
 Ecriture d'un registre 16 bits. More...
 
int iI2cWriteReg8 (int fd, uint8_t reg, uint8_t data)
 Ecriture d'un registre 8 bits. More...
 
int iI2cWriteRegBlock (int fd, uint8_t reg, const uint8_t *buffer, uint8_t size)
 Ecriture d'un bloc de registres. More...
 

Macros

#define I2C_BLOCK_MAX   32
 

Macro Definition Documentation

#define I2C_BLOCK_MAX   32

#include <i2c.h>

Nombre max d'octets dans une trame I2C

Definition at line 35 of file i2c.h.

Function Documentation

int iI2cClose ( int  fd)

#include <i2c.h>

Fermeture d'une connexion vers un circuit I2C.

Parameters
fddescripteur de fichier vers la connexion ouverte
Returns
0, -1 si erreur
Examples:
i2c/rtc-bq32000/sysio_demo_i2c_rtc.c.
int iI2cOpen ( const char *  device,
int  i2caddr 
)

#include <i2c.h>

Ouverture d'une connexion vers un circuit I2C.

Parameters
devicenom du fichier d'accès au bus I2C (par exemple /dev/i2c-1)
i2caddradresse du circuit I2C (alignée à droite)
Returns
le descripteur de fichier vers la connexion ouverte, -1 si erreur
Examples:
i2c/rtc-bq32000/sysio_demo_i2c_rtc.c.
int iI2cRead ( int  fd)

#include <i2c.h>

Lecture d'un octet.

Parameters
fddescripteur de fichier vers la connexion ouverte
Returns
la valeur de l'octet comme un unsigned, -1 si erreur
int iI2cReadBlock ( int  fd,
uint8_t *  buffer,
int  size 
)

#include <i2c.h>

Lecture d'un bloc octets.

Parameters
fddescripteur de fichier vers la connexion ouverte
bufferpointeur vers la zone de stockage des octets, la taille doit être suffisante pour y stocker le nombre d'octets demandés.
sizenombre d'octets à lire
Returns
le nombre d'octets lus, -1 si erreur
int iI2cReadReg16 ( int  fd,
uint8_t  reg 
)

#include <i2c.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

Parameters
fddescripteur de fichier vers la connexion ouverte
regadresse du registre (ou octet de contrôle)
Returns
la valeur du mot comme un unsigned, -1 si erreur
int iI2cReadReg8 ( int  fd,
uint8_t  reg 
)

#include <i2c.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

Parameters
fddescripteur de fichier vers la connexion ouverte
regadresse du registre (ou octet de contrôle)
Returns
la valeur de l'octet comme un unsigned, -1 si erreur
int iI2cReadRegBlock ( int  fd,
uint8_t  reg,
uint8_t *  buffer,
uint8_t  size 
)

#include <i2c.h>

Lecture d'un bloc de registres.

Warning
La transmission s'effectue par bloc qu'au maximum 32 octets.
Parameters
fddescripteur de fichier vers la connexion ouverte
regadresse du premier registre (ou octet de contrôle)
bufferpointeur vers la zone de stockage des octets, la taille doit être suffisante pour y stocker le nombre d'octets demandés.
sizenombre de registres à lire
Returns
le nombre d'octets lus, -1 si erreur
Examples:
i2c/rtc-bq32000/sysio_demo_i2c_rtc.c.
int iI2cWrite ( int  fd,
uint8_t  data 
)

#include <i2c.h>

Ecriture d'un octet.

Parameters
fddescripteur de fichier vers la connexion ouverte
datavaleur de l'octet
Returns
0, -1 si erreur
int iI2cWriteBlock ( int  fd,
const uint8_t *  buffer,
int  size 
)

#include <i2c.h>

Ecriture d'un bloc octets.

Parameters
fddescripteur de fichier vers la connexion ouverte
bufferpointeur vers la zone de stockage des octets
sizenombre d'octets à écrire
Returns
le nombre d'octets écrits, -1 si erreur
int iI2cWriteReg16 ( int  fd,
uint8_t  reg,
uint16_t  data 
)

#include <i2c.h>

Ecriture d'un registre 16 bits.

Parameters
fddescripteur de fichier vers la connexion ouverte
regadresse du registre (ou octet de contrôle)
datavaleur du mot
Returns
0, -1 si erreur
int iI2cWriteReg8 ( int  fd,
uint8_t  reg,
uint8_t  data 
)

#include <i2c.h>

Ecriture d'un registre 8 bits.

Parameters
fddescripteur de fichier vers la connexion ouverte
regadresse du registre (ou octet de contrôle)
datavaleur de l'octet
Returns
0, -1 si erreur
int iI2cWriteRegBlock ( int  fd,
uint8_t  reg,
const uint8_t *  buffer,
uint8_t  size 
)

#include <i2c.h>

Ecriture d'un bloc de registres.

Warning
La transmission s'effectue par bloc qu'au maximum 32 octets.
Parameters
fddescripteur de fichier vers la connexion ouverte
regadresse du premier registre (ou octet de contrôle)
bufferpointeur vers la zone de stockage des octets
sizenombre d'octets à écrire
Returns
0, -1 si erreur