attiny84 - Interrupt

OP #5132667
Lesenswert?

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
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren