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).
|
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...
|
|
|
typedef struct xI2cMem | xI2cMem |
|
#define I2CMEM_FLAG_ADDR16 0x80 |
#define I2CMEM_FLAG_READONLY 0x40 |
int iI2cMemAddr |
( |
const xI2cMem * |
mem | ) |
|
#include <i2c.h>
Adresse I2c de la mémoire.
- Parameters
-
mem | pointeur sur le contexte de la mémoire |
- Returns
- adresse I2c alignée à droite
int iI2cMemClose |
( |
xI2cMem * |
mem | ) |
|
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
-
mem | pointeur sur le contexte de la mémoire |
offset | adresse du premier octet à lire |
buffer | pointeur vers une zone pour stocker les octets lus |
size | nombre 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
-
mem | pointeur sur le contexte de la mémoire |
offset | adresse du premier octet à écrire |
buffer | pointeur vers les octets à écrire |
size | nombre 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
-
mem | pointeur sur le contexte de la mémoire |
- Returns
- drapeaux
uint32_t ulI2cMemSize |
( |
const xI2cMem * |
mem | ) |
|
#include <i2c.h>
Taille de la mémoire.
- Parameters
-
mem | pointeur 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
-
mem | pointeur 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
-
device | nom du fichier d'accès au bus I2C (par exemple /dev/i2c-1) |
i2caddr | adresse du circuit I2C (alignée à droite) |
mem_size | taille de la mémoire |
page_size | taille de la page en écriture |
flags | drapeaux 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.