AVR externes interruption 0 problème

S

saurabh17g

Guest
S'il vous plaît lire le programme ci-dessous: # Include / / interruption externe 0 interrompre la routine de service [EXT_INT0] nulle ext_int0_isr (void) {PORTC = 0xaa;} / / Déclarez vos variables globales ici void main (void) {/ / interruption externe (s) d'initialisation / / INT0: Le / / INT0 mode: Falling Edge / / INT1: Off / / INT2: Off GICR | = 0x40; MCUCR = 0x02; MCUCSR = 0x00; GIFR = 0x40; / / Global activer les interruptions # asm ("Sei") DDRC = 0xff; / / PORTC configuration en sortie afin de tester tout (1) {/ / Placez votre code ici};} selon le programme ci-dessus collé, les broches PORTC doit donner 0xaa sortie uniquement quand INT0 broches obtient un front descendant. Mais dans mon cas, PORTC est activé pour toujours. J'ai essayé plusieurs combinaisons comme le niveau de déclenchement, la hausse etc bord. mais tous donnent le même résultat. S'il vous plaît réponse.
 
Selon vos PORTC programme est toujours 0xaa après la INT0 premier. Le programme ne change jamais cette valeur à nouveau. Essayez de changer la valeur à l'intérieur de la boucle while (par exemple PORTC = 0x55). Dans ce cas, 0xaa valeur sera vu à la sortie que lors INT0 exécution (un temps très court). Cordialement
 
Oui, j'ai modifié le programme en tant que: {PORTC = 0xaa; delay_ms (500); PORTC = 0x55;} mais le résultat est le même. Je reçois PORTC comme tous 0xff (combinaison de 0x55 et oxaa) ou non interruption est déclenchée.
 
Est-il quelque chose qui fonctionne correctement? Semble la broche reset est tenu ON. [Size = 2] [color = # 999999] Ajouté après 3 minutes: [/color] [/size] Également confirmer OUT Brown n'est pas activé. [Size = 2] [color = # 999999] Ajouté après 3 minutes: [/color] [/size] Un doute: quelle version de Codevision utilisez-vous?
 
Avez-vous désactivé JTAG. Les broches JTAG sont au PORTC Essayez d'utiliser le port d'autres comme le PORTA Testé avec la simulation et de votre code fonctionne correctement
 

Welcome to EDABoard.com

Sponsor

Back
Top