4.14 Programmation USB sur AVR (1/3)
-
Plusieurs méthodes :
-
"à la main" en utilisant les registres adaptés ;
- des bibliothèques bas niveau comme V-USB (tout AVR) ;
- des bibliothèques plus haut niveau comme LUFA (AVR avec USB matériel).
- Bibliothèque LUFA, version 2021 presque intacte : lufa-LUFA-210130-NSI.zip.
- Bibliothèque LUFA, modes :
-
programmation en mode périphérique sur tous les AVR USB ;
- programmation en mode contrôleur sur tous les AVR USB 32 bits ;
- programmation en mode contrôleur sur deux AVR USB 8 bits.
- Bibliothèque LUFA, de nombreux exemples :
-
des exemples de chargeurs (bootloaders) ;
- des exemples pour contrôler des périphériques ;
- des exemples pour programmer des périphériques ;
- des exemples à deux niveaux :
-
bas niveau, les fonctions manipulent directement les points d’accès ;
- haut niveau, les fonctions remplissent des structures ...
- ... la bibliothèque fait le reste.
- Bibliothèque LUFA, principe :
-
boucler sur la gestion des événements USB USB_USBTask ;
- éventuellement appeler aussi la gestion d’une classe (e.g. HID_Task) ;
- écrire les fonctions de rappel (callback) pour implanter les fonctionnalités souhaitées.