Forum: Mikrocontroller und Digitale Elektronik Interrupt am Atmega2561


von Denny (Gast)


Lesenswert?

Hallo!

Ich habe ein Problem mit dem INT6 am Atmega2561.
Er ist mit einem 10k Pullup und soll bei fallender Flanke auslösen.

Nun habe ich das Datenblatt schon hoch und runter, aber bekomme
nicht raus warum kein Interrupt ausgelöst wird.
1
void init_int6() {
2
  DDRE &= ~( 1 << PE6 );            // INT6 als Eingang
3
  EICRB |= ( 1 << ISC61 );
4
  EICRB &= ~( 1 << ISC60 );   // INT6
5
  EIMSK|=(1<<INT6);
6
  sei();
7
}
Hier noch ein kleiner Teil aus dem Datenblatt!

------------------------------------------------------------
EICRB – External Interrupt Control Register B
Bit 7 6 5 4 3 2 1 0
(0x6A) ISC71 ISC70 ISC61 ISC60 ISC51 ISC50 ISC41 ISC40 EICRB
Read/Write R/W R/W R/W R/W R/W R/W R/W R/W
Initial Value 0 0 0 0 0 0 0 0
------------------------------------------------------------
EIMSK – External Interrupt Mask Register
Bit 7 6 5 4 3 2 1 0
0x1D (0x3D) INT7 INT6 INT5 INT4 INT3 INT2 INT1 INT0 EIMSK
Read/Write R/W R/W R/W R/W R/W R/W R/W R/W
Initial Value 0 0 0 0 0 0 0 0


Vielleicht kann mir ja einer helfen?

Gruß und Danke
Denny

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Der angegebene Codeteil sieht richtig aus. Der Fehler könnte eine andere 
Ursache haben.

Wurde das Eingangssignal schon oszillografiert?
Wie sieht der Rest des Programmes aus?

von Patrick (Gast)


Lesenswert?

Hast Du denn auch eine zugehöige ISR erstellt?

von Denny S. (nightstorm99)


Lesenswert?

Hallo!


Es lag am Eingangssignal. Glaube muss mir doch mal ein Oszi zulegen oder
ein kleines mit nem Atmega selber bauen.

Steige gerade von Bascom um auf AVR-GCC, naja war schon mal das erste 
richtig
aus dem Datenblatt gelesen.


Danke und Gruß
Denny

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.