Utiliser un At mega 328P tqfp

Bonjour à tous,

J'ai réalisé quelque petit projet sur des atmega 328P. J'ai déjà intégré ce type de micro au format DIP sur des cartes électroniques. Pour passer à une étape d'intégration, j'ai voulu essayer les atmega 328p-AU version tqfp et j'ai un souci.

Dans un premier temps, j'ai réalisé une petite carte où il y a uniquement un quartzt 16 MHz, les 2 condo 22 pf que j'ai l'habitude d'utiliser et le passage de l'alimentation.

J'ai réussi à graver la séquence d'initialisation et aussi téléverser un simple programme (faire clignoter deux LED). Déjà je me rend compte que le clignotement est plus lent que les temporisations laissées dans le programme.

Ensuite j'ai essayé de faire communiquer simplement mon atmega cms avec un autre arduino en UART (envoie d'un caractère), je reçois bien quelque chose sur l'arduino selon le delay du programme mais ce n'est pas le caractère transmis au départ.

Dans un premier temps j'ai pensé à une mauvaise cadence du quartz mais j'ai essayé avec le quartzt d'une carte arduino, sans succès.

Je comprends pas vraiment d'où vient le problème. Si quelqu'un a une idée, je suis preneur, merci d'avance.

Y a t il correspondance des baudrates ?

Oui il y a correspondance, j'ai vérifié ma communication avec deux arduino relié l'un à l'autre. (baudrate 9600)

cist: Dans un premier temps j'ai pensé à une mauvaise cadence du quartz mais j'ai essayé avec le quartzt d'une carte arduino, sans succès.

Je comprends pas vraiment d'où vient le problème. Si quelqu'un a une idée, je suis preneur, merci d'avance.

Bonjour La conception/implantation de l'horloge externe sur le PCB peut etre assez ardue selon le routage voir la section 9.4 du DS piste(s) de recherche du pourquoi :

  • lance un petit programme de verif de temps basé sur millis() en faisant un serial (115200) toutes les (theoriques) 10 secondes , si il y a une derive importante ça va vite se voir

  • à l'oscillo et/ou fréquencemètre (sonde haute impedance) ça donne quoi comme "tete" le signal d'horloge pris sur le QZ ?

  • si tu a un oscillateur TTL 16MHz , fais un un test d'injection CLK à la place du QZ

+1 voir datasheet ou http://www.engbedded.com/fusecalc

Merci pour vos réponses, je n'ai pas l'occasion de faire les modifications aujourd'hui. En effet je n'ai pas modifié le fuse donc le problème doit venir de là.

J'ai trouvé un tuto pouvant m'aider je pense :

http://www.chicoree.fr/w/Arduino_sans_Arduino

Je vous tiens au courant de ma progression.

Problème résolu.

En fait le programmateur AVR USB que j'utilise n'était pas correctement défini dans le fichier board.txt. J'ai donc modifié la fréquence d'horloge de cette board à 16 MHz.

Merci à tous.