Interruption timer en mode CTC/ICR sur ATmega

la doc.

livraison du PCB) :

TCCR1A = 0; // 16 MHz / 1024 = 15625 TCCR1B = 0b00011101; TCCR1C = 0; ICR1 = 3125; // 1/5th s TCNT1 = 0;

Si j'ai tout suivi, le timer1 est en mode CTC sur le registre ICR.

timer1 parmi : - TIMER1_CAPT_vect - TIMER1_COMPA_vect - TIMER1_COMPB_vect - TIMER1_OVF_vect

c'est clair, on utilise COMPA/COMPB. Mais sur ICR ?

Bien cordialement,

JKB

--


=> http://grincheux.de-charybde-en-scylla.fr 
=> http://loubardes.de-charybde-en-scylla.fr
Reply to
JKB
Loading thread data ...

Hello JKB,

Je te fais confiance sur le chargement de TCCR1A = 0; // 16 MHz / 1024 = 15625 TCCR1B = 0b00011101;

--

Il manque l'init de TIMSK (Bit TOIE1 je crois) et dans le vecteur d'IT  
TIMER1_OVF_vect() il faut recharger le compteur TCNT1 

Les autres registres 
	TCCR1C = 0; 
	ICR1 = 3125; // 1/5th s 

ne doivent pas te servir dans ton cas ... je pense (sans certitudes si  
j'ai bien tout compris) 

H 

PS. 

http://ww1.microchip.com/downloads/en/AppNotes/Atmel-2505-Setup-and-Use-of-AVR-Timers_ApplicationNote_AVR130.pdf
Reply to
biblboard

Le Fri, 20 Mar 2020 15:03:05 +0100,

Bonsoir,

interruption sur ICR, il faut utiliser OCR dans ce cas. L'interruption OVF sert uniquement en overflow. J'avoue que la doc AVR est un peu tordue par endroit...

Bien cordialement,

JKB

--


=> http://grincheux.de-charybde-en-scylla.fr 
=> http://loubardes.de-charybde-en-scylla.fr
Reply to
JKB

15.625KHz ok, il faut encore diviser par 3125 pour avoir 5Hz (ou 3125

TCNT1 en mode OVF

void main() { /* Demasque l'IT Timer1 en OVF */ TIMSK = (1

Reply to
bilboard

Le Sat, 21 Mar 2020 11:04:24 +0100,

droit ;-)

JKB

--


=> http://grincheux.de-charybde-en-scylla.fr 
=> http://loubardes.de-charybde-en-scylla.fr
Reply to
JKB

Bonjour JKB,

bien compris pourquoi il te faut le mode CTC pour juste une IT timer toutes les 200ms ... mais tu as sans doutes de bonnes raisons.

H
Reply to
bilboard

Le Sun, 22 Mar 2020 09:45:28 +0100,

Tu peux utiliser le CTC sans PWM, juste comme on le faisait avec un 68B40, avec rechargement automatique. C'est pratique.

JKB

--


=> http://grincheux.de-charybde-en-scylla.fr 
=> http://loubardes.de-charybde-en-scylla.fr
Reply to
JKB

perdre tout le monde ici.

Je n'avais pas bien compris le besoin au regard de ton premier post.

Good Luck :-)

H
Reply to
bilboard

Le Sun, 22 Mar 2020 10:15:34 +0100,

Pfff...

Je dois encore avec des 68B09 avec leurs 68B21, 86B40 et 68B50 dans

il vaut mieux attaquer avec avr-gcc tant l'architecture interne est

une application moderne. Un coeur de 6309 avec RAM et ROM interne et, soyons fous, 6840/6850/6821 interne serait largement suffisant pour la plupart des applications.

JKB

--


=> http://grincheux.de-charybde-en-scylla.fr 
=> http://loubardes.de-charybde-en-scylla.fr
Reply to
JKB

(gcc par ex.) pour les arch-risc et le code assembleur des AVR/AVR32

Non vraiment pour ma part je n'ai pas du tout la nostalgie de cette

H
Reply to
bilbozrd

Le Sun, 22 Mar 2020 13:30:12 +0100,

bon nombre d'utilisateurs utilisait une MMU tierce voire un truc

sans aucun bus externe.

JKB

--


=> http://grincheux.de-charybde-en-scylla.fr 
=> http://loubardes.de-charybde-en-scylla.fr
Reply to
JKB

:-)

charger une ram statique, ensuite avec un inter je basculais cette ram

--
Mail .invalid
Reply to
Olivier B.

calcul qu'une station Appolo ou Sun d'antan (1988 je crois) ... et j'en

assez peu de RAM.

puissance d'une plateforme - ils veulent toujours rentrer dans la tripaille interne, ce qui selon moi est sans objet - car pour la plupart

Sans offense encore une fois. H

Reply to
bilboard

formatting link

tout, l'important pour moi est de travailler avec les outils les plus

Aujourd'hui je remplace sans scrupule 5 ou 6 comparateurs analogiques plus une peu d elogique et quelques tempos par du soft sur un chip qui

drastiquement le temps de mise au point, chargement de packages

:-)

--
Mail .invalid
Reply to
Olivier B.

de soleil ;-) Oui !

changements ...)

hein ?

?

...

Moi : ok c'est tout bon ?!

juste "remasteriser" les deux fonctions I/O getchar() et putchar() pour rediriger vers l'UART et toutes le fonctions de la bib "hardware

faire (f)printf(), (f)scanf() ... car tu sais qu'on va devoir manipuler

Moi : Rechercher dans les sources ces deux fonctions ... et ensuite on

Au bout d'une heure ou deux enfin (on remballe les marteaux et outils de

... je crois)

Oui de ce point de vue et sans doutes par qu'il est plus simple, Java

continue avec Tcl/Tk (qui inclus aujourd'hui le paradigme des bibs de classes) que presque personne n'utilise aujourd'hui ... sauf les dinos dans mon genre.

H H
Reply to
bilboard

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.