interrupt problem

OP #232781
Lesenswert?
• ▲
▼
Hallo,
wollte mal einen Interrupt mit meinem tiny13 realisieren, leider
funktioniert es nicht.
Es soll, wenn PB0(PCINT0) eine LOW-Flanke "sieht" in die ISR
gesprungen werden, leider tut mein tiny dies nicht. Sitze jetzt schon 4
Stunden dran und ich finde den Fehler nicht. Vieleicht kann mir ja
jemand weiterhelfen, danke schon mal im vorraus.
Angehängte Dateien:
Persönliche Seite
Lesenswert?
• ▲
▼
Hast du den Programmieradapter auch abgezogen ? Oder einen 244er
Programmieradapter ? (mit Latch)

In MCUCR muss für falling edge ("low flanke" wie du sagst) bit ISC00
gelöscht und bit ISC01 besetzt sein.
Also:
MCUCR = (1<<ISC01) oder MCUCR = 0b00000010

PCMSK muss gelöscht sein, da hier nur Pinchange Interrupts definiert
werden
PCMSK = 0

Außerdem setze mal in DDRB alles auf 0, und in PORTB Bit0 auf 1 (Pullup
(falls benötigt)). Ansonsten extern Pullup!

Außerdem nach "isr" noch ein paar befehle einfügen ;)
OP
Lesenswert?
• ▲
▼
OK, ich muss dazu sagen daß ich ein blutiger anfänger bin, und dies mein
erstes Programm mit einem interrupt ist. Natürlich habe ich es erst
einmal mit dem Datenblatt brobiert (4Stunden lang), leider habe ich es
nicht hinbekommen. Könnte mir nicht jemand sagen wie der code aussehen
müsste? bzw ein Codebeispiel schicken?
Gast
Lesenswert?
• ▲
▼
> An PB0 ist kein PCINT (=Pin Change Interrupt) sondern ein INT
> (Interrupt).

Nein. Der INT0 ist auf PB1.

@Thorran:

Du mußt dir zunächst mal überlegen, was du genau willst. Das, was du in
deinem Ursprungsposting geschrieben hast, geht so nämlich nicht. PCINT
und INT0 sind zwei verschiedene, voneinander unabhängige Interrupts. Da
du in deinem Code beide kunterbunt mischst, nehme ich an, daß dir das
nicht bewusst war.
Bei PCINT kannst du einstellen, auf welche I/O-Pins er triggern soll,
dafür triggert er aber immer auf beide Flanken.
INT0 ist fest mit PB1 verdrahtet, aber dafür kann man einstellen, auf
welche Flanke(n) er triggern soll.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.