Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Récemment, j'ai utilisé l'atmegas 40 DIP pour contrôler les systèmes industriels car ce type de microcontrôleur fournit de nombreuses E/S analogiques ou numériques, vous n'avez donc pas besoin d'extenseurs.
Les atmegas32/644p/1284p incluent un moyen de télécharger le croquis que vous créez qui s'appelle le "JTAG" (voir
en.wikipedia.org/wiki/JTAG pour plus d'explications). Si vous utilisez Arduino IDE ou LDmicro (IEC 61-131) les croquis sont téléchargés par le port SPI et les broches JTAG (4 broches: PC2(D18) PC3(D19) PC4(D20) PC5(D21) ne sont disponibles pour rien Vous devez donc désactiver JTAG dans votre programme.
Avec arduino IDE, il vous suffit d'ajouter 3 lignes de code dans la section de configuration comme ceci:
uint8_t tmp = 1<< JTD;
MCUCR = tmp;
MCUCR = tmp;
La méthode de ligne double MCUCR.
Avec LDmicro je n'arrivais pas à faire quoi que ce soit.
Pour éviter ces problèmes, j'ai démarré après la manipulation du registre MCUCR mes atmegas avec Arduino IDE sous Mightycore. Un moyen de brûler les fusibles avec un JTAG désactivé.
Étape 1: Le calcul du fusible de votre circuit 40DIP:
Allez sur le site internet:
eleccelerator.com/fusecalc/fusecalc.php?chi…
Choisissez le bon circuit (atmega1284p dans mon exemple mais de la même manière avec d'autres atmegas 40 DIP) et regardez le "U hfuse:w:0x99:m" et décochez JTAGEN pour qu'il donne "U hfuse:w:0xD9:m". Gardez à l'esprit la valeur 0xD9.
Étape 2: Recherche du fichier Boards.txt dans le répertoire Mightycore:
Sur votre PC, recherchez le répertoire Mightycore. Pour moi dans C:\user\myself\AppData\Local\Arduino15\packages\Mightycore\Harware\avr\2.0.0\boards.txt.
Étape 3: Modifiez le Boards.txt et le Bootload avec Mightycore:
Jetez un œil au bloc de fréquence d'horloge de l'atmega1284p avec Notepad++.
Modifiez chaque fusible haut comme "1284.menu.clock.16MHz_external.bootloader.high_fuses=0xd6" en "1284.menu.clock.16MHz_external.bootloader.high_fuses=0xd9" (0xd9 la valeur précédente dont vous deviez vous souvenir). Enregistrez-le.
Ensuite, il vous suffit de suivre la méthode de démarrage donnée dans
www.instructables.com/id/Arduino-18x-Clone…
C'est ça.
Étape 4: Conclusion:
Désormais, vous gagnez 4 E/S et vous n'avez plus à faire de manipulation de registre dans vos croquis. Vous pouvez également revenir en arrière et activer JTAGEN et redémarrer le chargement une fois de plus.
Merci à tous les tutoriels intéressants sur le web qui m'ont donné des clés pour réussir ce projet.