Ich versuche mich heute den ganzen Nachmittag daran, einen Interrupt durch Pegelwechsel auszulösen. Leider krieg ich das - warum auch immer nicht hin. Ich habe als Testumgebung ein Pollin Evaluationsboard Version 2.01 mit einem ATtiny13A. Ich möchte mittels PCINT4 durch Betätigung eines Tasters an PB4 eine LED an PB2 leuchten lassen. Lasse ich den Taster los, soll die LED wieder erlöschen. Ich habe dazu ein Assembler-Programm geschrieben (siehe Anhang). Ich habe das Kapitel über die externen Interrupts in der Spezifikation des ATiny13A gelesen und krieg das einfach nicht gebacken. Der Taster liegt mittels RC-Glied (33k/330n - wegen Entprellung) an Masse. Durch Betätigung geht PB4 auf H. Die LED benötigt zum leuchten H-Potential am PB4. Wenn ich das Prograsmm im AtmelStudio simuliere, wird bei Veränderung an PB4 kein Interrupt ausgelöst. Es wäre nett, wenn mit jemand helfen könnte. Herzlichen Dank in voraus. --- Gruß, Billy
Muss wohl am Simulator liegen. Ich hab hier ein altes AVR Studio 4.18.692 und da läuft dein Programm wie erwartet.
@adenin Hallo Detlef, ich verwende das Artmel Studio 6.1. Ich habe zu Beginn der ISR einen Breakpoint gesetzt. Wenn ich mit F11 bis in den Loop durchsteppe, danach PORTB4 auf H setze tzt sich nichts. Selsamerweise wird das I-Bit gelöscht; und zwar o h n e dass die ISR aufgerufen wird. (Ich steppe alles mit F11 - also kein Run mit F5) Ich habe das Programm heute auf die echte Hardware gespielt. Da tut sich ebenfalls nichts. Ich meine, dass die LED bei anhaltenten Tastendruck leuchten sollte. Leider passiert hier rein gar nichts. Ich habe da vermutlich doch irgendwie etwas übersehen/falsch interpretiert. Keine Ahnung, was ich da falsch gemacht habe. Brauche ich evtl irgendwelche nop-Befehle aus Synchronisationsgründen? --- Gruß, Billy
Hi >ich verwende das Artmel Studio 6.1. Ich habe zu Beginn der ISR einen >Breakpoint gesetzt. Wenn ich mit F11 bis in den Loop durchsteppe, danach >PORTB4 auf H setze tzt sich nichts. Eingang ist das PIN-Register, nicht das PORT-Register. MfG Spess
@Elke:
> Das entspricht aber keinem pinchange Ereignis.
Was ist dann ein pinchange Ereignis? Ich dachte es wäre jeder
Potentialwechsel?
--
Gruß,
Billy
@spess53:
> Eingang ist das PIN-Register, nicht das PORT-Register.
... sorry - mein Fehler!
Klar, das PIN-Register ist für's Einlesen zuständig ;-).
Ich hab natürlich am PINB4 das Potential geändert. Trotzdem: Es tut sich
einfach nix :-((.
---
Gruß,
Billy
:
Bearbeitet durch User
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.