Atmega328P programmation

Hello

J'ai une question pour programmer un Atmega328P ( Atmel Atmega 328P-PU MCU, 8BIT, Atmega, 20MHZ, DIP-32). J'ai un quartz externe de 16Mhz et les condensateurs adaptés pour réaliser les montages. Cependant j'ai des doutes sur les configurations à retenir:

pour BOD je laisse la config par défaut 2,7v ou bien je sélectionne 4,3v. Il me semble que l'alimentation de l'Atmega dans la config 16Mhz est 5v? Je ne sais pas si cela a un rapport.

Présence d'un Bootloder oui je laisse UART0 je suppose?

EEPROM retained idem je suppose que je dois laisser comme cela.

Je ne sais pas ce que signifie LTO disabled. A quoi cela renvoie-t-il?

Variant : je choisis 328 / 328 A et non 328P/328PA?

Merci pour votre aide.

Bonjour @el_gringo,

Tu utilises Minicore ?

Pour ma part j'ai déjà fait fonctionner un ATmega328p sur breadbord avec un un oscillateur externe à 16Mhz et avec une alimentation de 3.2 V chargée à fond mais je n'ai pas persévéré avec cette option car je suis vite passé sur l'oscillateur interne à 8Mhz pour des raisons d'économie d'énergie (mais moins de précision). Ceci étant j'ai laissé tomber Minicore car pas trop fiable au moment où je l'ai utilisé (ça fait un moment, quelques mois mais je ne me rappelle plus exactement). J'ai un petit stock d'ATmega328pu et c'est devenu mon laboratoire d'expérimentation. Pour le programmer je préfère Microship studio qui est bien plus fiable et stable à mon gout mais il faut en passer par Windows (je préfère linux mais certaines applications ne tournent malheureusement que sur Windows).
Pour rappel le 328P fonctionne de 1.8 à 5.5V même avec un 16Mhz externe, les experts me contredirons si je me trompe.

Tu trouveras des explications sur LTO et autres paramètres dans mon premier lien :

Après la sortie de l'IDE Arduino 1.6.11, il y a eu un support pour l'optimisation du temps de liaison ou LTO en abrégé. Le LTO optimise le code au moment de la liaison, rendant le code (souvent) considérablement plus petit sans le rendre "plus lent". Dans Arduino IDE 1.6.11 et plus récent, LTO est activé par défaut. J'ai choisi de désactiver cela par défaut pour m'assurer que le noyau conserve sa rétrocompatibilité. L'activation de LTO dans IDE 1.6.10 ou une version antérieure renverra une erreur. Je vous encourage à essayer la nouvelle option LTO et à voir à quel point votre code devient plus petit ! Notez que vous n'avez pas besoin d'appuyer sur "Graver Bootloader" pour activer LTO. Activez-le simplement dans le menu "Outils", et votre code est prêt à être compilé. Si vous voulez en savoir plus sur les drapeaux LTO et GCC en général, rendez-vous sur le site

Bonne journée.

Voici
ce que dit la datasheet:
image
Peut-être que 16MHz sous 1,8V peut fonctionner, mais ce n'est pas garanti.

Bonjour @vileroi,
Exact, en plus j'ai la documentation et je n'ai même pas été regarder :cry:
Bon c'est vrai aussi que pour l'instant j'en suis resté avec le 8Mhz interne mais ça n'empêche pas d'aller voir la doc avant de répondre des âneries :cry:

Bonne journée.

PS : d'ailleurs j'ai vu apparaître des dysfonctionnement à 2.75 V à 8Mhz interne ici :
https://forum.arduino.cc/t/radio-rda5807m-atmega328p/1066463/65

Oui Minicore
merci pour les explications.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.