AVR - Externer Interrupt an beliebigem Pin?

#6711985
Ulli schrieb:
> Hier würde ich gerne nachträglich noch ein DCF77-Modul hinzufügen.

Dazu nimmt man typisch einen Timerinterrupt, um bequem die Pulsdauern zu 
zählen. Für DCF77-Dekodierung eignet sich gut ein Raster von 10ms.
Den Timerinterrupt braucht man außerdem als Uhr bei Empfangsstörungen.

Externe Interrupts verwendet man nur für schnelle Sachen (<10µs) oder 
zum Aufwachen beim Stromsparen.
#6712308
Arduino Fanboy D. schrieb:
> https://ww1.microchip.com/downloads/en/DeviceDoc/40001908A.pdf
>> Bits 0, 1, 2, 3, 4, 5, 6 –
>> PCINT32, PCINT33, PCINT34, PCINT35, PCINT36, PCINT37,
>> PCINT38: Pin
>> CDS40001908A-page 85

Papier ist geduldig. Ich vertraue da eher auf das "alte" 
Atmel-Datasheet.

https://www.e-lab.de/downloads/DOCs/mega324PB.pdf

Hast Du das mit PCINT32 ff. mal ausprobiert?
Gast #6712329
> Ich vertraue da eher auf das "alte" Atmel-Datasheet.

Aber das sieht doch noch merkwürdiger aus, mit diesem komischen PCINT7 
auf der siebten Position. Eigenartig.
  Und in beiden wird unter PCICR bzw. PCIFR ein PCINT39 angeboten.
1
Hier wendet sich der Gast mit Grausen:
2
»So kann ich hier nicht ferner hausen,
3
Mein Chip kannst du nicht weiter sein.«
Angehängte Dateien:
#6712341
S. Landolt schrieb:
>> Ich vertraue da eher auf das "alte" Atmel-Datasheet.
>
> Aber das sieht doch noch merkwürdiger aus, mit diesem komischen PCINT7
> auf der siebten Position. Eigenartig.
>   Und in beiden wird unter PCICR bzw. PCIFR ein PCINT39 angeboten.
> Hier wendet sich der Gast mit Grausen:
> »So kann ich hier nicht ferner hausen,
> Mein Chip kannst du nicht weiter sein.«

Na ja. In PCIE.. sind Gruppen von Interrupt-Pins auf Interrupts 
zusammengefasst. Davon gibt es keine 38 oder so sondern nur genau 5.

Es gibt auch PCMSK4 - nur denen ist blöderweise nur PE0 und PE1 
zugeordnet. Weiter geht es halt nicht - es sei denn jemand beweist das 
Gegenteil :-). Das man bei den maskierten Interrupts immer schauen muss, 
von welchem PIN der Interrupt kommt muss ich hier wohl keinem 
Beteiligten erklären.
Gast #6712343
Hugo H. schrieb:

> Papier ist geduldig. Ich vertraue da eher auf das "alte"
> Atmel-Datasheet.

Ja, die MC-bearbeiteten strotzen leider nur so von Fehlern.

> https://www.e-lab.de/downloads/DOCs/mega324PB.pdf

Allerdings gibt es auch hier den "Widerspruch", dass für etliche PCINTs 
zwar Maskenbits existieren, die entsprechende Funktion aber nicht in der 
IO-MUX-Tabelle auftaucht.

Sowas gab es schon immer und es ist auch nicht wirklich ein Widerspruch. 
Es zeigt bei einem Auftreten in den allermeisten Fällen nur eins: dass 
es wohl in der Familie einen Controller gibt (oder zumindest ein 
solcher mal geplant war), bei dem es die entsprechende Funktion 
tatsächlich gibt. Aber bei dem konkreten Controller gibt es sie halt 
nicht.

Also, nach meiner Erfahrung würde ich das so zusammenfassen: Primäre 
Informationsquelle sollte die MUX-Tabelle sein, denn die stimmt fast 
immer.

Aber da bleibt das "fast". Und um dies auszuräumen, muss man es halt 
machen, wie es auch S. Landolt macht: man probiert es schlicht und 
einfach aus. Ist ja nun kein Hexenwerk, ein kleines Testprogramm zu 
schreiben, um sowas zu ermitteln.
#6712348
Ulli schrieb:
> Lässt sich dieser dazu verwenden?

Wie Peter schon schrieb: Wieso Interrupt, statt Timer-gestützter 
Abfrage?

Ich hatte auch schon ein DCF77-Modul, dass prellte ähnlich wie ein 
Schalter, weil die Flanke des Signals rotzmies war. Bei Polling ist das 
egal, bei Interrupt nicht.

Antwort schreiben

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