AVR externen Interrupt 0 Problem

S

saurabh17g

Guest
Bitte lesen Sie das folgende Programm: # Include / / External Interrupt 0-Service-Routine zu unterbrechen [EXT_INT0] void ext_int0_isr (void) {PORTC = 0xaa;} / / Erklären Sie Ihre globale Variablen hier void main (void) {/ / External Interrupt (s) Initialisierung / / INT0: On / / INT0-Modus: Falling Edge / / INT1: Off / / INT2: Off GICR | = 0x40; MCUCR = 0x02; MCUCSR = 0x00; GIFR = 0x40; / / Global Interrupts # asm ("sei") DDRC = 0xff; / / Konfiguration PORTC als Ausgabe zu testen while (1) {/ / Legen Sie hier Ihren Code};} nach dem Programm eingefügt erwähnt, sollten die PORTC Stifte geben Ausgang 0xaa nur, wenn INT0 Pin bekommt eine fallende Flanke. Aber in meinem Fall ist PORTC aktiviert immer. Ich habe versucht, mehrere Kombinationen wie Ebene ausgelöst, steigende Flanke etc.. aber alle geben die gleiche Leistung. Bitte antworten Sie mir.
 
Nach Ihrem Programm PORTC ist immer nach dem ersten INT0 0xaa. Das Programm ändert sich nie diesen Wert wieder. Versuchen Sie, den Wert innerhalb der while-Schleife (zB PORTC = 0x55) zu ändern. In diesem Fall wird Wert 0xaa am Ausgang nur während INT0 Ausführung (sehr kurzer Zeit) zu sehen. Grüße
 
ja, geändert habe ich das Programm zum Beispiel: {PORTC = 0xaa; delay_ms (500); PORTC = 0x55;} aber das Ergebnis ist dasselbe. Ich bekomme PORTC wie alle 0xff (Kombination aus 0x55 und oxaa), ob Alarm ausgelöst wird.
 
Gibt es etwas, der ordnungsgemäß funktioniert? Scheint die Reset-Pin ON gehalten wird. [Size = 2] [color = # 999999] Hinzugefügt nach 3 Minuten: [/color] [/size] Auch bestätigen BROWN OUT ist nicht aktiviert. [Size = 2] [color = # 999999] Hinzugefügt nach 3 Minuten: [/color] [/size] Ein Zweifel: welche Version von CodeVision verwenden Sie?
 
Haben Sie behinderte JTAG. Die JTAG-Pins sind PORTC Versuchen Sie es mit anderen Port wie PORTA mit Simulation getestet und der Code richtig funktioniert
 

Welcome to EDABoard.com

Sponsor

Back
Top