ATiny13A - Pin Change Interrupt

OP #3347337
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
Angehängte Dateien:
OP
@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
Gast
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
OP
@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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.