Étape 7: Bonjour tout le monde (matériel)
Le hello world dans le matériel ou pour les microcontrôleurs est en tout cas à clignoter une diode, donc vous aurez besoin pour remplir cette section. Attacher une LED à la broche 2 comme le montre la broche plue va à la broche 1 et la broche plus courte sur la LED va au sol.
La fonction ici est légèrement plus complexe, donc je vais vous expliquer à l’aide des numéros de ligne affichés dans l’image. Il s’agit d’un fichier créé dans le bloc-notes ou recommandé PSPad (également gratuit)
Ligne 1: Ceci est un commentaire tout suivant / / est ignoré
Lignes 2 à 4: Voici les adresses réelles pour les registres de microcontrôleur particuliers qui sont décrits dans la fiche technique pour le PIC32 (famille MX1). Le x 0 spécifie qu’un nombre hexadécimal est spécifié. Les adresses réelles pourraient être utilisés, mais il semble mieux et est plus facile à retenir si elles reçoivent un nom. Il y a deux ports sur ce dispositif particulier PORTA et PORTB et comme on le voit sur le schéma de câblage broche 2 où le témoin est connecté est appelée RA0. Cela signifie que le premier bit de PORTA qui correspond normalement au bit 0. Plus d’informations sur cela et les registres plus tard.
Ligne 5: La LED est reliée au bit 0 et nous voulons voir ce bit à plusieurs endroits dans la fonction donc nous avons la constante définie sur 1 (confusion bit 0 est défini défrichées et généralement manipulé à l’aide d’une valeur de 1). Pourquoi ne pas simplement avoir constant LED 1, nous pourrions bien et qui serait bien, mais en supposant que nous avons besoin de se référer au bit 15, ce serait constant LED 0 x 8000. Si vous s’en sortir qui est hex pour le bit 15 (commençant par 0) étant élevé ou nous pourrions faire cette LED 1 << 15 et obtenir exactement le même résultat. Le ' << ' est l’opérateur de décalage vers la gauche et il ne fait que MAJ le « 1 » 15 places vers la gauche - commode.
Ligne 7: Tous les programmes sont en fonctions, à l’instar de C, mais contrairement à C vous pouvez appeler à tout moment en tapant ain simplement son nom. Une fonction doit avoir () à la fin. Des fonctions plus avancées peuvent avoir des valeurs entre les crochets, mais c’est hors de portée de cet article.
Ligne 8: Les TRIS inscrire des contrôles si le code pin sera une entrée ou une sortie, et le registre TRISA accomplit cette tâche pour PORTA. Si le bit 0 de TRISA est défini sur 1 puis RA0 sera une entrée, si elle est définie à 0, alors ce sera une sortie. Le Common Language Runtime sur la fin du mot efface (valeur 0) l’axe spécifié et ensemble sur la fin du mot sera jeu (1) la broche spécifiée. Cette ligne est affectant RA0 à une sortie.
Ligne 8 supplément : Le @ devant le nom de constant signifie que le contenu. Il suffit d’affecter TRISACLR à LED changerait forme TRISACLR sa valeur actuelle de 0xBF886014 à 1. En utilisant le @, nous mettons un 1 à l’adresse 0xBF886014, nous pouvons aussi utiliser poke(TRISACLR,LED) qui ferait exactement la même chose.
Ligne 9: L’IC a entre autres matériels de ADC (analogique à numérique) des choses et par défaut, toutes les broches sont définies pour utiliser le connecteur Active Directory. Les contrôles de Registre ANSEL, définissant le bit spécifié à 0 sera la broche sur le port numérique et 1 rendra analogique. Si cette ligne fera RA0 dans une broche numérique.
Ligne 10 : Ici, nous pourrions simplement doe un certain temps en boucle qui se passait pour toujours (même si 1 = 1 le ferais) et pour arrêter le clignotement de la LED nous simplement réinitialiser le contrôleur. Cependant, pour être un tantinet plus élégant nous utiliser comkey ? (2). le contrôleur possède deux ports série, UART1 et UART2. L’interface série (raccordé aux broches 21 & 22) est connecté à UART2 si le bâti en fonction comkey ? (2) retournera le nombre de clés dans le buffer de clé UART2 donc cela fera une boucle jusqu'à ce que vous appuyez sur une touche du clavier qui placera bien sûr une clé dans la mémoire tampon et donc comkey ? (0) = 0 ne sera pas vrai plus.
Ligne 11 : Le registre LAT est les réels broches sur le port donc définissant tous les bits de ce registre haut ou bas qui figurera sur le port. Il y a aussi un registre PORT que dans ce cas ferait la même chose, mais cela est mis en mémoire tampon et il est donc préférable d’utiliser LAT pour sortie et le PORT d’entrée (sans doute). Tout comme il est ensemble et CLR puis INV « bascule » l’axe spécifié, alors il c’était a 1 puis il changerait à 0 et inversement. C’est exactement le comportement nécessaire à clignoter la LED
Ligne 12 : La commande d’attente est spécifiée en millisecondes, et si cela se met à clignoter la LED à 1 seconde d’intervalle.