INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
AT90CAN Interrupt wird nicht ausgelöst
19.11.2019, 12:05 (Dieser Beitrag wurde zuletzt bearbeitet: 19.11.2019 12:05 von slsb02.)
Beitrag #1
AT90CAN Interrupt wird nicht ausgelöst
Hallo zusammen,

ich habe das Problem das der externe Interrupt über einen Hallsensor
nicht ausgelöst wird. Einlesen kann ich den Pin, das zeigt mir auch die
"richtigen" Werte aber eben kein Interrupt.

Egal welchen Intrruptpin ich nutze, es kommt zu keiner Aktion.

Welche Informationen werden noch benötigt?
Code:
const int interruptPin = 6; //INT4
volatile int state = HIGH;

pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), blink, FALLING);

void blink() {
// Invertiere den Status: "Lass die LED blinken von HIGH auf LOW/ an auf aus"
  state = !state;
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2019, 12:18 (Dieser Beitrag wurde zuletzt bearbeitet: 19.11.2019 12:24 von Tommy56.)
Beitrag #2
RE: AT90CAN Interrupt wird nicht ausgelöst
(19.11.2019 12:05)slsb02 schrieb:  Welche Informationen werden noch benötigt?
Welcher Arduino?
Ach so, das ist der Prozessor. Den werden hier wenige (bis keiner) kennen.
Im Mikrokontroller-Forum gibt es lt. Google Beiträge dazu.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2019, 14:04
Beitrag #3
RE: AT90CAN Interrupt wird nicht ausgelöst
(19.11.2019 12:05)slsb02 schrieb:  ...
Egal welchen Intrruptpin ich nutze, es kommt zu keiner Aktion.
...

welche CPU hast du denn im Boardverwalter in der Arduino IDE eingestellt ?
...also bei mir gibt es da keinen AT90CAN32/64/128 und ohne diese Auswahl werden wohl auch die Zuordnungen der Pins nicht passen.
Du gibst in deinem Code den realen Pin 6 an... aber das ist eigentlich Port E Bit 4 und da drüber definiert sich der Interrupt in der IDE. Z.b. ist der Interrupt 0 beim UNO = ATmega328 auf dem Port D pin 2 womit wohl klar wird das ohne passende Zuordnung sich da keine Funktion herstellen läßt. Also wenn du ein AT90CAN Derivat programmieren willst dann geht das am besten über das AVR Studio per Assembler oder C... aber ohne Boardkonfiguration für die Arduino IDE stehst da im Wald.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2019, 14:51
Beitrag #4
RE: AT90CAN Interrupt wird nicht ausgelöst
Hallo,

zunächst einmal vielen Dank für die infos. Ich habe natürlich nach dem ersten Hinweis weiter geschaut.
Nun ist folgendes, ich habe die WInterrupts.c angepasst und es funktioniert.

Wie kann ich nun aber diese angepasste WInterrupts.c nutzen ohne die für den Arduino zu überschreiben?
Über einen include funktioniert es nicht.

Habt ihr dazu eine Idee?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2019, 14:58
Beitrag #5
RE: AT90CAN Interrupt wird nicht ausgelöst
Hallo,

wenn er den MegaCore installiert hat, ist der AT90CAN dabei. Da ist auch das benutzte Pinmapping usw. dabei.
Wird er hoffentlich installiert haben und den Pin passend rausgesucht haben...
Sein Pin 6 ist z.B. PE6 und damit Int6, da stimmt schon sein Kommentar nicht.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2019, 15:04
Beitrag #6
RE: AT90CAN Interrupt wird nicht ausgelöst
@Michael,

vielen Dank. Gemeint war PIN6 am Controller selber. Das Mapping hatte ich mir bereits angepasst, das ist auch sowit alles okay. Jetzt aber Interrupt. Aber auch dafür eine Lösung gebaut.

Wie kann ich nun aber die neue "WInterrupts.c" einbinden?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Programm läuft auf UNO aber nicht auf ATTINY85 Diwo13 54 947 Gestern 16:50
Letzter Beitrag: Diwo13
  Lauflicht mit Interrupt senseman 18 553 09.12.2019 22:37
Letzter Beitrag: senseman
  Auth Failed wenn ArduinoOTA.setPasswordHash benutzt wird Hoffmakl 9 310 26.11.2019 19:02
Letzter Beitrag: Hoffmakl
  Nebelmaschine: Programmteile funktionieren nicht ChrisTastic 11 524 15.11.2019 09:08
Letzter Beitrag: hotsystems
  Nextion und Arduino kommunizieren nicht alpenpower 7 358 04.11.2019 10:36
Letzter Beitrag: GuaAck
  Button funktioniert nicht trotz korrekter Schaltung Schneggl 3 338 12.10.2019 08:17
Letzter Beitrag: Schneggl
  Empfänger funktioniert nicht mehr jgrothe 5 520 06.09.2019 18:57
Letzter Beitrag: Tommy56
  myport nicht gefunden? - Arduino und Visual Studio Stagneth.Alexander 4 583 04.09.2019 14:16
Letzter Beitrag: Stagneth.Alexander
  UDP send oder print ??? Ich kapiers nicht HarryB 5 542 03.09.2019 13:06
Letzter Beitrag: Tommy56
  Interrupt vs. LCD Nasenbär 10 1.000 22.08.2019 16:30
Letzter Beitrag: @Thomas

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste