ATMega 1284p - PinChange Interrupt

OP #3281040
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe derzeit ein kleines Problem mit dem PinChange Interrupt im 
Zusammenhang mit dem DCF77 Empfänger von ELV (68091610).

Derzeit ist der Empfänger an Port A Pin 6 angeschlossen (also am Pin 
PCINT6).
Es ist kein Widerstand zwischen VCC und Data und der interne Pin Pull Up 
ist aktiv.

Die Konfiguration des Ports sieht wie folgt aus:
1
DDRA  = 0x0F;   //00001111
2
PORTA = 0xFF;   //alle Pull-Ups an Port A aktivieren
3

4
//PC Interrupt
5
PCICR  |= (1<<PCIE0);
6
PCMSK0 |= (1<<PCINT6);

Und hier noch die ISR:
1
ISR(PCINT0_vect){
2
   PORTB ^= (1 << PB6)
3
}

Leider wird die ISR nicht angesprungen.

Die Interrupts sind natürlich mit
1
sei();
 aktiviert.

Eine LED zwischen Data und VCC zeigt mir aber an, dass der DCF Empfänger 
die Bits korrekt empfängt.
Habt ihr ne Idee, woran das liegen könnte - ich bin leider grad ziemlich 
am Ende mit meinem Latein?

Ich danke euch
Galdo
OP #3281127
Lesenswert?
• ▲
▼
J.-u. G. schrieb:
> Die gezeigten Codeschnippsel sind meiner Meinung nach ok. Was mich etwas
> irritiert:
>
>> Es ist kein Widerstand zwischen VCC und Data
>
> und
>
>> Eine LED zwischen Data und VCC zeigt mir aber an
>
> Was denn nun? Wie ist die LED dort angeschlossen und wie ist der µC-Pin
> in Bezug auf die LED angeschlossen?

Ich habe irgendwo mal gelesen, dass bei bestimmten DCF Empfänger 
sinnvollerweise ein Widerstand zwischen Data und VCC zu installieren ist 
(als Pull-Up vermute ich mal). Das ist nicht passiert. Die LED hab ich 
zwischen Data und VCC angeschlossen um zu sehen, ob der Empfänger 
überhaupt etwas bekommt.

Ich nutze die AVR NETIO Platine von Pollin. Die ganze Konstruktion ist 
an den seitlichen Schraubklemmen befestigt.

Die LED ist nicht die LED, die ich im oben gezeigten Code-Schnippsel 
ansteuere, sondern hängt einfach "lose" zwischen den beiden Leitungen 
des DCF77 Empfängers.

Der Interrupt wird nicht aktiviert.
OP #3281163
Lesenswert?
• ▲
▼
Stefan Ernst schrieb:
> Andreas del Galdo schrieb:
>> Die LED hab ich
>> zwischen Data und VCC angeschlossen um zu sehen, ob der Empfänger
>> überhaupt etwas bekommt.
>
> Hast du die LED tatsächlich ohne Vorwiderstand angeschlossen? In dem
> Fall ist es kein Wunder wenn du keinen Pin-Change-Interrupt bekommst,
> schließlich "changed" der Pin dann ja auch nicht.

Da hast du natürlich recht - das müsste ich heut abend nochmal 
verifizieren. Ich hatte aber in Erinnerung, dass das ohne LED den 
gleichen Effekt hatte.

Galdo

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.