attiny84 - Interrupt

OP #5132667
Hallo,

habe einen attiny84 über Pin 0 an einem Arduino Uno hängen. Ich möchte 
nun das ein Interrupt ausgelöst wird sobald sich der Pin ändert. Leider 
funktioniert mein sketch nicht :-( hab leider keine Ahnung warum :-P
1
volatile bool Interrupt = false;
2

3
const int Data0Pin = 0;
4
const int LedPin = 5;
5

6
void setup() 
7
{
8
  noInterrupts();  
9
  
10
  pinMode(LedPin, OUTPUT);
11
  pinMode(Data0Pin, INPUT);
12
  attachInterrupt(PCINT0, InterruptVoid, CHANGE);
13

14
  interrupts();
15
}
16

17

18
void loop() 
19
{
20
    if(Interrupt)
21
    {
22
      digitalWrite(LedPin, HIGH);
23
      delay(200);
24
      digitalWrite(LedPin, LOW);    
25
      delay(1000);
26
    }
27
}
28

29
void InterruptVoid()
30
{    
31
  Interrupt = true;   
32
}

Nutze die Arduino IDE 1.8.4
#5132823
Hi

Horchst Du am richtigen Pin?
Habe jetzt nicht gesucht, welcher Pin PCINT0 beim ATtiny84 ist und gehe 
davon aus, daß Du das Signal am falschen Pin anlegst.

Oder

Kommt überhaupt ein Signal?

Dann bin ich Gestern auch über die Benennung der Interrupt-Pins 
gestolpert - klar, finde ich jetzt nicht (3 PDFs durchgestöbert, war's 
aber nicht bei).
War, sinngemäß in die Richtung:

attachInterrupt(PinATtiny84INT0, InterruptVoid, CHANGE);
Also die Zahl, Die der Compiler in dem Befehl einsetzt, ist in den 
Tiefen bereits voreingestellt und wohl für jeden als Arduino verbauten 
Chip enthalten - man muß halt 'nur noch' herausfinden, wie diese 
Umbiege-Variable sich nennt.

MfG
#5135307
Matthias S. schrieb:
> Danke für die vielen Antworten leider hat nix geholfen :-(

Für einen Pin-Change-Interrupt mußt Du den gewünschten Vektor im GIMSK 
und den gewünschten Pin im PCMSK0/1 freigeben.
Das Datenblatt ist eigentlich gut verständlich.
Ob man erst noch den Umweg über die Arduino Pin-Mapping Tabellen geht, 
muß jeder selber entscheiden.

Antwort schreiben

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