Sommaire

Bus I2C Bus:I2C

1. Niveau d’API

Pour rappel, l’API I2C de MicroPython prend en charge trois niveaux d’API du bus I2C :

  • fonctions primitives pour les lectures/écritures brutes sur le bus,

  • opérations standards supportant des lectures/écritures à une adresse,

  • opérations mémoire supportant des lectures/écritures dans un registre.

Il est possible de consulter le détail de la documentation de l’API I2C dans la documentation des classes MicroPython (cf. Classes MicroPython courantes - La classe I2C).

Fonctions primitives

Ces méthodes permettent d’envoyer des données brutes sur le bus à l’aide de I2C.readinto(buf) et I2C.write(buf). Il n’y a pas encore de notion d’adresse dans les appels. Par conséquent, l’adresse du périphérique à contacter doit être précisée dans le premier octet de données lors d’un appel à write().

Ces primitives, concernant les bus I2C logiciels (Bit Banging I2C), se montreront utiles lors du portage de code en provenance d’AVR (microcontrôleur) où il y a rarement des implémentations avec des fonctions I2C de haut niveau. L’emploi des fonctions primitives permet souvent de garder un squelette de code presque identique durant le portage d’un langage C vers MicroPython.

Opérations standards

Ces méthodes permettent d’envoyer (ou réceptionner) des données en précisant l’adresse ...