Forum: Mikrocontroller und Digitale Elektronik Pin Change Interrupt im ATtiny12


von Philipp Sibler (Gast)


Lesenswert?

Hallo!

Ich bin ein Anfänger in Sachen Mikrocontroller.  Vielleicht kann mir 
jemand bei folgendem Problem helfen:

In meinem Assemblerprogramm für den ATtiny12 möchte ich mit dem 
PinChange-Interrupt in eine Serviceroutine verzweigen. Im GIMSK habe ich 
den PinChange-Interrupt aktiviert. Wenn sich jetzt in der Simulation am 
PortB etwas ändert, macht er einfach unbeirrt weiter und springt nicht 
auf 0x002.

Was habe ich falsch gemacht?

Philipp

von mikki merten (Gast)


Lesenswert?

Der PinChange Interrupt wird im Simulator von AVR Studio nicht unstützt.

von Philipp Sibler (Gast)


Lesenswert?

Vielen Dank für die Antwort, dann werd ich es anders probieren!

Philipp

von Diana (Gast)


Lesenswert?

Hallo, das ist ein alter Thread, deshalb wollte ich fragen, ob das immer 
noch stimmt.

Ich möchte im C-Code mit Atmega 2560 einen PinChangeInterrupt 
durchführen, aber der Simulator vom AVR-Studio 4 (mit SP1) sringt 
einfach nicht in die Routine!

Wird das mittlerweile unterstützt?

Codeausschnitt:
sei();            //enable all interruots
PCICR = (1 << PCIE1);     //enable interrupts PCINT8:15
PCMSK1 = ( 1 << PCINT15);   //mask external interrupt to enable PCINT15

ISR(PCINT1_vect) //PinCange at RXE-Pin (PJ6/PCINT15): User want to say 
sth.
{...
}
Vielen Dank, Diana

von Sebastian (Gast)


Lesenswert?

Kann leider nichts zum Simulator sagen, aber du solltest erst den 
Interrupt konfigurieren und aktivieren und danach erst sei() ausführen. 
Sonst kann es passieren, dass du beim Interrupt einstellen diesen schon 
auslöst.

Sebastian

von Diana (Gast)


Lesenswert?

Oh, das ist mir gar nicht aufgefallen, vielen Dank für die Info, ich 
habe es gleich geändert, aber es funktioniert immer noch nicht.

Dann werde ich wohl auf die Hardware warten müssen, wenn der Simulator 
das nicht kann.

Ich hab später im Code noch weitere Initialisierungen von Interrupts, 
muss ich da vorher eigenlich alle Interrupts global deaktivieren, damit 
diese Interrupts nicht dabei ausgelöst werden!

Vielen Dank für die schnelle Antwort!Diana

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.