Table des matières:

Comment désactiver JTAG avant de démarrer Atmegas 40DIP avec Arduino IDE Mightycore : 4 étapes
Comment désactiver JTAG avant de démarrer Atmegas 40DIP avec Arduino IDE Mightycore : 4 étapes

Vidéo: Comment désactiver JTAG avant de démarrer Atmegas 40DIP avec Arduino IDE Mightycore : 4 étapes

Vidéo: Comment désactiver JTAG avant de démarrer Atmegas 40DIP avec Arduino IDE Mightycore : 4 étapes
Vidéo: Démonstration de programmation C dans Atmel Studio 7 sur un Arduino Micro et un PicKit4 2024, Novembre
Anonim
Comment désactiver JTAG avant de démarrer Atmegas 40DIP avec Arduino IDE Mightycore
Comment désactiver JTAG avant de démarrer Atmegas 40DIP avec Arduino IDE Mightycore

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:

Le calcul du fusible de votre circuit 40DIP
Le calcul du fusible de votre circuit 40DIP
Le calcul du fusible de votre circuit 40DIP
Le calcul du fusible de votre circuit 40DIP
Le calcul du fusible de votre circuit 40DIP
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:

Vous recherchez le fichier Boards.txt dans le répertoire Mightycore
Vous recherchez le fichier Boards.txt dans le répertoire Mightycore
Vous recherchez le fichier Boards.txt dans le répertoire Mightycore
Vous recherchez le 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:

Modifiez le Boards.txt et le bootload avec Mightycore
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.

Conseillé: