Étape 1: Utilisation de l’AVR avec V-USB
« V-USB est une implémentation logicielle d’un périphérique USB de basse vitesse pour le domaine des microcontrôleurs Atmel AVR®, rendant possible la construction d’un périphérique USB avec presque n’importe quel Microcontrôleur AVR®, ne nécessitant ne pas de n’importe quel morceau supplémentaire. »
V-USB utilise un ensemble de matériel et un assemblage très spécial techniques de programmation à bit-bang non-retour à zéro (NRZ) code binaire utilisé par USB pour communiquer. Les fichiers fournis par V-USB seront compilés dans notre programme afin de créer un périphérique USB avec nos ATmega328P
Veuillez consulter la section du site Web de V-USB download pour obtenir une copie de la dernière version. Dans le code source de mon projet, il est déjà inclus.
Pour compiler V-USB dans votre projet...
- Assurez-vous que vous avez défini le processeur et vitesse d’horloge correctement (V-USB prend uniquement en charge certaines vitesses d’horloge)
- Copiez le dossier « usbdrv » depuis le paquet téléchargé dans votre dossier de projet
- Dans votre gestionnaire de projet ou le makefile, incluent « usbdrv.c » et "usbdrvasm. S", tel que le fichier objet généré va devenir lié dans votre projet
- Dans le dossier « usbdrv », il y a un « usbconfig-prototype.h », copiez ce fichier dans votre répertoire de projet principal et renommez l’en « usbconfig.h »
- Éditer « usbconfig.h », cela sera expliqué en détail plus tard
- Utilisez les instructions « #include » pour inclure « usbconfig.h », puis « usbdrv/usbdrv.h »
- Assurez-vous que « usbdrv/usbdrv.h » est en mesure de trouver des « usbconfig.h », si ce n’est pas possible, utiliser le "-J’ai" à votre « usbdrv/usbdrv.h » makefile ou edit pour modifier le chemin d’accès du fichier à « usbconfig.h » (pour ".. / usbconfig.h ")
Ensuite, votre projet doit implémenter certaines fonctions des...
- Vous devez initialiser V-USB et ensuite permettre aux interruptions de l’AVR
- C’est presque une pratique courante de faux déconnecter et se reconnecter à l’ordinateur, au démarrage le code attendre quelques millisecondes. Cela garantit que votre appareil et votre ordinateur sont dans un état de « reset » pour commencer.
- Une fonction de gestionnaire de requête doit être mis en œuvre, même si vous n’effectuez des actions réelles en elle, vous devez l’implémenter vous-même. Recherchez « usbFunctionSetup » plus tard.
- Dans notre exemple, nous avons besoin d’utiliser cette fonction pour traiter les deux demandes spéciales, vous le verrez plus tard
- La manette est un périphérique HID, un descripteur USB HID de rapport doit être rédigé et stocké dans votre code
Lecture plus :