SysIo  1.9.0
Embedded Library and tools
Mémoires I2C

Detailed Description

Ce module fournit les fonctions permettant d'accéder à des mémoires I2c. Ce module gère les mémoires entre 1 kbits et 4MBits (128 octets à 512 ko).

Collaboration diagram for Mémoires I2C:

Functions

int iI2cMemAddr (const xI2cMem *mem)
 Adresse I2c de la mémoire. More...
 
int iI2cMemClose (xI2cMem *mem)
 Fermeture d'une mémoire sur bus I2c. More...
 
int iI2cMemRead (xI2cMem *mem, uint32_t offset, uint8_t *buffer, uint16_t size)
 Lecture dans une mémoire sur bus I2c. More...
 
int iI2cMemWrite (xI2cMem *mem, uint32_t offset, const uint8_t *buffer, uint16_t size)
 Ecriture dans une mémoire sur bus I2c. More...
 
uint8_t ucI2cMemFlags (const xI2cMem *mem)
 Drapeaux de la mémoire. More...
 
uint32_t ulI2cMemSize (const xI2cMem *mem)
 Taille de la mémoire. More...
 
uint16_t usI2cMemPageSize (const xI2cMem *mem)
 Taile de la page mémoire pour l'écriture. More...
 
xI2cMem * xI2cMemOpen (const char *device, int i2caddr, uint32_t mem_size, uint16_t page_size, uint8_t flags)
 Ouverture d'une mémoire sur bus I2c. More...
 

Macros

#define I2CMEM_FLAG_ADDR16   0x80
 
#define I2CMEM_FLAG_READONLY   0x40
 

Typedefs

typedef struct xI2cMem xI2cMem
 

Macro Definition Documentation

#define I2CMEM_FLAG_ADDR16   0x80

#include <i2c.h>

pointeur d'adresse sur 16 bits

Examples:
i2c/mem-eeprom/sysio_demo_i2c_eeprom.c.

Definition at line 170 of file i2c.h.

#define I2CMEM_FLAG_READONLY   0x40

#include <i2c.h>

mémoire en lecture seule

Examples:
i2c/mem-eeprom/sysio_demo_i2c_eeprom.c.

Definition at line 171 of file i2c.h.

Function Documentation

int iI2cMemAddr ( const xI2cMem *  mem)

#include <i2c.h>

Adresse I2c de la mémoire.

Parameters
mempointeur sur le contexte de la mémoire
Returns
adresse I2c alignée à droite
int iI2cMemClose ( xI2cMem *  mem)

#include <i2c.h>

Fermeture d'une mémoire sur bus I2c.

Parameters
mempointeur sur le contexte de la mémoire
Returns
0, -1 si erreur
Examples:
i2c/mem-eeprom/sysio_demo_i2c_eeprom.c.
int iI2cMemRead ( xI2cMem *  mem,
uint32_t  offset,
uint8_t *  buffer,
uint16_t  size 
)

#include <i2c.h>

Lecture dans une mémoire sur bus I2c.

Parameters
mempointeur sur le contexte de la mémoire
offsetadresse du premier octet à lire
bufferpointeur vers une zone pour stocker les octets lus
sizenombre d'octets à lire
Returns
le nombre d'octets lus, -1 si erreur
Examples:
i2c/mem-eeprom/sysio_demo_i2c_eeprom.c.
int iI2cMemWrite ( xI2cMem *  mem,
uint32_t  offset,
const uint8_t *  buffer,
uint16_t  size 
)

#include <i2c.h>

Ecriture dans une mémoire sur bus I2c.

L'écriture se fait page par page,

Parameters
mempointeur sur le contexte de la mémoire
offsetadresse du premier octet à écrire
bufferpointeur vers les octets à écrire
sizenombre d'octets à écrire
Returns
0, -1 si erreur
Examples:
i2c/mem-eeprom/sysio_demo_i2c_eeprom.c.
uint8_t ucI2cMemFlags ( const xI2cMem *  mem)

#include <i2c.h>

Drapeaux de la mémoire.

Parameters
mempointeur sur le contexte de la mémoire
Returns
drapeaux
uint32_t ulI2cMemSize ( const xI2cMem *  mem)

#include <i2c.h>

Taille de la mémoire.

Parameters
mempointeur sur le contexte de la mémoire
Returns
taille
uint16_t usI2cMemPageSize ( const xI2cMem *  mem)

#include <i2c.h>

Taile de la page mémoire pour l'écriture.

Parameters
mempointeur sur le contexte de la mémoire
Returns
taille
xI2cMem* xI2cMemOpen ( const char *  device,
int  i2caddr,
uint32_t  mem_size,
uint16_t  page_size,
uint8_t  flags 
)

#include <i2c.h>

Ouverture d'une mémoire sur bus I2c.

Parameters
devicenom du fichier d'accès au bus I2C (par exemple /dev/i2c-1)
i2caddradresse du circuit I2C (alignée à droite)
mem_sizetaille de la mémoire
page_sizetaille de la page en écriture
flagsdrapeaux cf I2CMEM_FLAG_ADDR16, I2CMEM_FLAG_READONLY
Returns
pointeur sur le contexte de la mémoire, NULL si erreur
Examples:
i2c/mem-eeprom/sysio_demo_i2c_eeprom.c.