Skocz do zawartości

Brak mozliwosci ustawienia przerwania attachInterrupt()


astony

Pomocna odpowiedź


  
This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Arduino: 1.0.6 (Windows 7), Board: "Arduino Uno"
piec_encoder.ino: In function 'void setup()':
piec_encoder:20: error: 'NOT_AN_INTERRUPT' was not declared in this scope
  
  O co chodzi?

Witam.
  Próbuję zastosować przerwanie za pomocą       " attachInterrupt(digitalPinToInterrupt(PinA),zmiana,LOW); 
  i otrzymuję komunikat o błędzie.

Edytowano przez Gieneq
Link do komentarza
Share on other sites

 /* Read Quadrature Encoder
   Connect Encoder to Pins encoder0PinA, encoder0PinB, and +5V.
 */
#define PinA 2  
#define PinB 3 
byte encoder0PinA =2;//7 (0)
byte encoder0PinB = 3;//8
word encoder0Pos = 0x00FF;

byte encoder0PinALast = LOW;
byte n = LOW;
byte tranzH = 7;
byte tranzL = 8;
volatile word encoder = 0x00FF;
void setup() {
  pinMode (encoder0PinA, INPUT_PULLUP);
  pinMode (encoder0PinB, INPUT_PULLUP);
  pinMode (tranzH, OUTPUT);
  pinMode (tranzL, OUTPUT);
  attachInterrupt(digitalPinToInterrupt(PinA),zmiana,LOW);

  digitalWrite(tranzH, HIGH);
  digitalWrite(tranzL, LOW);
   Serial.begin(9600);
}

void loop() {
  for ( encoder = encoder0Pos; encoder > 0; encoder--){
     digitalWrite(tranzH, LOW);  
     digitalWrite(tranzL, HIGH);
  }
   for ( encoder = encoder0Pos; encoder > 0; encoder--){
     digitalWrite(tranzH, HIGH);
     digitalWrite(tranzL, LOW);
   }
      Serial.println(encoder0Pos);  
}

void zmiana(){
  n = digitalRead(encoder0PinA);
  if ((encoder0PinALast == LOW) && (n == HIGH)) {
    if (digitalRead(encoder0PinB) == LOW) {
      encoder0Pos--;
      if (encoder0Pos = 0){
        encoder0Pos = 0;
      }
    } else {
      encoder0Pos++;
      if (encoder0Pos = 0xFFFF) {
        encoder0Pos = 0xFFFF;
      }
    }
 
  }
  encoder0PinALast = n;
  encoder0PinALast = encoder;
} 

 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.