libreria avr/interrupt

Sto cercando di azionare un potenziometro digitale mediante un encoder rotativo usando il micro ATTiny85. Poichè per farlo devo usare un interrupt ho cercato qualche esempio in rete. La soluzione esiste ma occorre istallare una libreria che si chiama<<avr/interrupt>>, che non sono riuscito a trovare.
Qualcuno l’ha usata? Dove posso trovarla per importarla poi nell’IDE?

(Spero non abbia detto qualche castroneria)

Grazie

allego lo sketch:

#include "avr/interrupt.h"; 

volatile int value = 122;
volatile int lastEncoded = 0;

void setup()
{
 pinMode(0, OUTPUT);  // set LED pin to output

 // set pins 3 and 4 to input
 // and enable pullup resisters
 pinMode(3, INPUT);
 pinMode(4, INPUT);
 digitalWrite(3, HIGH);
 digitalWrite(4, HIGH);

 GIMSK = 0b00100000;       // Enable pin change interrupts
 PCMSK = 0b00011000;       // Enable pin change interrupt for PB3 and PB4
 sei();                    // Turn on interrupts
}

void loop()
{
 analogWrite(0, value);
}

// This is the ISR that is called on each interrupt
// Taken from http://bildr.org/2012/08/rotary-encoder-arduino/
ISR(PCINT0_vect)
{
 int MSB = digitalRead(3); //MSB = most significant bit
 int LSB = digitalRead(4); //LSB = least significant bit

 int encoded = (MSB << 1) |LSB; //converting the 2 pin value to single number
 int sum  = (lastEncoded << 2) | encoded; //adding it to the previous encoded value

 if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011)
   value++;
 if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000)
   value--;

 lastEncoded = encoded; //store this value for next time

 if (value <= 0)
   value = 0;
 if (value >= 255)
   value = 255;
}

Prima di tutto, in conformità al regolamento, punto 7, devi editare (in basso a destra del post, bottone More → Modify) il tuo post e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra), poi …
<avr/interrupt.h> fa parte di AVR libc che è SEMPRE automaticamente inclusa.

Metti solo l’#include <avr/interrupt.h> in testa al programma.

Guglielmo

ok, grazie per la risposta e dell'errore che mi hai segnalato. Spero di non aver causato problemi.

Giulio: Spero di non aver causato problemi.

Nessun problema, è solo per chiarezza perché altrimenti parti di codice possono venir interpretate come emoticons ed il codice risultare illeggibile ...

Guarda come viene trasformato un semplice 8 seguito da una parentesi tonda chiusa ---> 8)

Guglielmo