AVR PCINT am Mega48

OP #494207
Lesenswert?
• ▲
▼
Hallo,

ich versuche die PCINT Eingänge zu nutzen. Leider klappt das nicht so 
ganz... Ich benutze den Atmel Mega48 und BASCOM Demoversion 1.11.8.3

Mein Problem:
Ich verwende den PCINT21 (also PD5). Dazu habe ich der Einsprungadresse 
vom PCINT2 (also PORTD) mit dem Befehl 1 festgelegt. Mit 2 habe ich den 
Pin PCINT21 (PD5) aktiviert und mit 3 den Interrupt PCINT2 aktiviert.
Im Interrupt soll bei aufsteigender Flanke von Pind.5 der Stand 
inkrementiert werden. Leider wird das nur ausgeführt wenn sich auch was 
an den Int0 und Int1 eingängen tut. Die sind anderweitig verwendet und 
haben mit der Zählfunktion nix zu tun.

1 On Pcint2 Zaehlen
2 Pcmsk2 = &B00100000
3 Pcicr.2 = 1


4 Zaehlen
5 if pind.5 = 1 then
6  incr Stand
7  Timer1=0
8  enable Timer1
9 end if

Kann mir das einer Erklären?

Gruß und Danke
Florian
OP #494267
Lesenswert?
• ▲
▼
NEE leider nicht. das Register Pcicr ist für die PCINT eingänge 
zuständig und .2 kennzeichnet den PCINT2



Ja logo da steht auch noch mehr Code drum rum
der Enable interrupt habe ich natürlich auch

Wie gesagt er springt auch nin den Interrupt, aber nur wenn sich auch 
was am INT0 (PD1) tut. der ist aber durch das PCMSK register eigendlich 
ausgeschlossen und erzeugt auch nicht den Interrupt... Er muß nur da 
sein?!?!
#494275
Lesenswert?
• ▲
▼
Oder anders rum.

Hast du das gleiche Phänomen auch dann, wenn du
nur das oben gepostete (+ Enable Interrupt natürlich)
programmierst?

Bei unerklärlichen Phänomenen ist ein Abspecken auf
eine Minimalverison oft eine gute Idee. So vermeidet
man dass man an der falschen Stelle sucht.
OP #494638
Lesenswert?
• ▲
▼
Ich habe mal nur den oben genannten Code versucht. durch immer mehr vom
Programm dazunehmen konnte ich also tatsächlich den Int0 als
Fehlerquelle bestimmen. Sobald ich den Interrupt mit Enable Int0
aktiviere, kann ein anderer Prozessor den Zählerstand abfragen. Solange
ich den Bus nicht anshließe zählt der µC brav über den PCINT21. Sobald
der Bus das erste mal abruft läuft die Zählung nur noch wenn der Bus
aktiv ist. Vielleicht kann sich wer mal den Code anschauen und mir
sagen, wiso das so sein kann.
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.