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
Vielen Dank für die Antwort, dann werd ich es anders probieren! Philipp
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.