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
Verwendung ? : Arduino MEGA 2560 - Interrupt 3 und 2 (Pin 20 /21)
08.06.2015, 09:08
Beitrag #1
Verwendung ? : Arduino MEGA 2560 - Interrupt 3 und 2 (Pin 20 /21)
Hi Leute !

Laut Spezifikationen hat der Arduino MEGA 2560 6 EXTERNE Interrupts.
(an den Pins: 2, 3, 18, 19, 20, 21)

Wie kann ich die Interrupts an den Pins 20 und 21 nutzen.
Die von mir getesteten 18 und 19 funktionieren ohne Probleme.

Habe irgendwo gelesen dass dies ein Konflikt mit SCA und SCL sein soll.
Wie kann ich den MEGA in den "Interrupt-Modus" für diese Pins umschalten bzw. das Problem anderweitig lösen ?

Vielen Dank im voraus !

mfG

Zauche
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.06.2015, 16:03
Beitrag #2
RE: Verwendung ? : Arduino MEGA 2560 - Interrupt 3 und 2 (Pin 20 /21)
Alle Mods mal ausprobiert: LOW , CHANGE , RISING , FALLING ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.06.2015, 14:27
Beitrag #3
RE: Verwendung ? : Arduino MEGA 2560 - Interrupt 3 und 2 (Pin 20 /21)
danke erstmal für die Antwort. Smile

ja, hab alle MODI ausprobiert..... tut sich nichts !
Irgendwie muss man ja Pins freischalten können wenn laut ARDUINO homepage als EXT Interrupts verwendbar !?!?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.06.2015, 08:22
Beitrag #4
RE: Verwendung ? : Arduino MEGA 2560 - Interrupt 3 und 2 (Pin 20 /21)
Zitat:Alle Mods mal ausprobiert: LOW , CHANGE , RISING , FALLING ?
Dass externe Interrupts nur RISING / FALLING / LOW benutzen ist schon klar? Huh
CHANGE kann auch von anderen Pins abgefragt werden.
Wie sieht denn der Testcode aus? Kann ja sein, dass der zusätzlich I2C anspricht. Dann könnte es Probleme geben.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.06.2015, 09:50
Beitrag #5
RE: Verwendung ? : Arduino MEGA 2560 - Interrupt 3 und 2 (Pin 20 /21)
Nein, I2C benutze ich garnicht. Hab nur 1 photo diode an A15 Einen Servo an Pin13 (PWM), 4x LEDs an Pins 11-14 (ohne PWM) und 2 Relais an Pins 5 und 6.
Die Interrupts (#5, #4)an 18 und 19 funktionieren ohne Probleme und wurden 1:1 für 20 und 21 kopiert. Nur die Pin-Nummern, Variablennamen und ISR-Namen wurden geändert. Daran kann es nicht liegen.
Hab irgendwo gelesen dass die Pins 20 und 21 wegen I2C standartmäßig per internem Pullup auf HIGH gezogen werden ?!? Eventuell das das Problem ? Kann ich den irgendwie im setup() deaktivieren ?

Vielen Dank im voraus.

lg
Zauche
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.06.2015, 10:42
Beitrag #6
RE: Verwendung ? : Arduino MEGA 2560 - Interrupt 3 und 2 (Pin 20 /21)
Zitat:Hab irgendwo gelesen dass die Pins 20 und 21 wegen I2C standartmäßig per internem Pullup auf HIGH gezogen werden ?!?
Ja ist richtig und die Ursache des Problems. Die standardmässig mitgelieferte Wire - Library ist verantwortlich dafür.
Lösung:
1. Im Setup (nachdem alle Instanzen mit .begin() gestartet wurden:
Code:
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega328P__)
    cbi(PORTC, 4);
    cbi(PORTC, 5);
  #else
    cbi(PORTD, 0);
    cbi(PORTD, 1);
  #endif
2. direkt in der mitgelieferten wire - Library in der Datei libraries/Wire/utility/twi.c folgende Zeilen auskommentieren
a) IDE - Version 023 und älter:
Code:
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega328P__)
    // activate internal pull-ups for twi
    // as per note from atmega8 manual pg167
    sbi(PORTC, 4);
    sbi(PORTC, 5);
  #else
    // activate internal pull-ups for twi
    // as per note from atmega128 manual pg204
    sbi(PORTD, 0);
    sbi(PORTD, 1);
  #endif
b) IDE Version 1.0 und neuer:
Code:
// activate internal pullups for twi.
  digitalWrite(SDA, 1);
  digitalWrite(SCL, 1);
Hope it helps!

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.06.2015, 13:37
Beitrag #7
RE: Verwendung ? : Arduino MEGA 2560 - Interrupt 3 und 2 (Pin 20 /21)
Wow super - werd ich so bald wie möglich ausprobieren !
Meld mich dann wieder ☺
lg
Zauche
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.06.2015, 22:01
Beitrag #8
RE: Verwendung ? : Arduino MEGA 2560 - Interrupt 3 und 2 (Pin 20 /21)
@rkuehle:

Hab das jetzt so wie du geschrieben hast ausprobiert.
Leider hat es nicht funktioniert :/

Kann doch nicht sein, dass Pins 20+21 als Interrupt-tauglich angegeben werden und es nirgendwo eine sinnvolle Beschreibung gibt wie man diese nutzen kann bzw. die Interruptverwendung an diesen Ports so umständlich ist ?!?

lg

Zauche
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  while Schleife nach sleep mode interrupt tklaus 13 230 23.11.2016 17:40
Letzter Beitrag: Tommy56
  Datenübertragung vom Arduino Mega 2560 zu Hterm Datatom 1 91 13.11.2016 23:08
Letzter Beitrag: hotsystems
  Arduino Mega 2560 läuft nicht Wolfgang50 6 169 13.11.2016 10:50
Letzter Beitrag: Wolfgang50
  Arduino Mega 2560 Manfred1981 4 180 11.11.2016 18:07
Letzter Beitrag: hotsystems
  NRF24L01 Interrupt MeisterQ 22 507 02.11.2016 15:50
Letzter Beitrag: MeisterQ
  Attiny45 Bootloader brennen mit Funduino Mega toto1975 63 2.157 23.10.2016 17:08
Letzter Beitrag: hotsystems
  Interrupt matthias3579 5 216 15.10.2016 13:23
Letzter Beitrag: hotsystems
Question Mega 2560 defekt? triode 11 353 29.09.2016 07:21
Letzter Beitrag: hotsystems
  nrf24 an Mega 2560 jgrothe 2 158 10.09.2016 13:39
Letzter Beitrag: jgrothe
  Interrupt und Sicherung der Prozessorregister MKc 5 222 31.08.2016 11:17
Letzter Beitrag: MKc

Gehe zu:


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