Frage zu Fake Interrupt Pins auf ATMega2560

Begonnen von Tobias, 02 August 2015, 13:28:21

Vorheriges Thema - Nächstes Thema

Tobias

Hi,
im Pinmapping des ATMega2560 sind bei den PIns 65-69 zu sehen das diese Interrupt Pins sind, aber ohne einen Mapped Pinname (zb D15 ...)
Die Frage die ich habe ist nun, ob ich diese Pins überhaupt nutzen kann. Zb. für einen RotaryEncoder der bei jeder Drehbewegung einen Impuls erzeugt. Diese werden i.d.R. per INT registriert.
Falls ich diese nicht nutzen kann, muss ich auf die EnableInterrupt Library (ist der NAchfolger der PinChangeInt Lib) ausweichen :(

Ich habe bisher nirgens eine Beschreibung dieser FakePins finden können... Was sie können und was nicht..
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

hexenmeister

Laut Plan (https://www.arduino.cc/de/uploads/Main/arduino-mega-schematic.pdf) sind diese nicht herausgeführt, also die Nutzung dürfte schwierig sein.
Außerdem sind das je keine 'richtigen' INTs, sind PCINT, davon gibt es ja noch mehr.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Tobias

Ich rede ja nicht vom Mega Board sondern nur vom reinen Chip.  Ich habe mein eigenes Board erstellt

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

hexenmeister

OK. Hast Du alle anderen PCINT-Pins schon 'verbraten'? :o
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Tobias

was heißt "verbraten", ich komme layouttechnisch nur an diese seite heran... Aktuell habe ich Pin53-58 (PC0-PC5) dafür vorgesehen, hier muss ich aber definitiv (denk ich) die PinChangeInt Lib benutzen. Dachte zuerst das ich für die PCINT die Lib nicht brauche.
Mit diesen INformationen hier habe ich aber (glaub ich) rausgefunden, das ih für die PCINT Pins aber auch diese Lib benutzen muss...

Lieg ich mit meinen Vermutungen richtig??
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

hexenmeister

Verstehe, bei Mega mit seinen vielen Pins ist das Layouten sicher kein Spaß.
Wenn Du die diese Art Interupts benutzen willst (musst) und nicht alles selbst machen willst, dann ist wohl diese Lib das Mittel der Wahl. Ob sie jedoch auch Pins unterstützt, die ein 'gewöhnliches' Arduino nicht kennt, weiß ich nicht. Zur Not bleibt immer die Option, die Interruptsroutinen komplett selbst zu schreiben. Die Lib ist ja nur 'convenience'.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Tobias

um nochmal zur Eingangsfrage zurückzukommen, die Pins 65-69 kann ich also als Interruptpins benutzen? Mich wundert halt nur, das diese keinem Arduino Pin zugeordnet sind...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

hexenmeister

Zitat von: Tobias am 03 August 2015, 19:05:54
um nochmal zur Eingangsfrage zurückzukommen, die Pins 65-69 kann ich also als Interruptpins benutzen? Mich wundert halt nur, das diese keinem Arduino Pin zugeordnet sind...

Technisch kannst Du es. Nun sind sie leider den Arduino-Bibliotheken nicht bekannt. Da sie nicht am Mega nach Außen geführt sind, ist das verständlich. Warum sie aber nicht herausgeführt sind... vermutlich hat das etwas mit der PCB-Größe zu tun, mit den Kontaktleisten, mit layouttechnische Gründen...

Vermutlich wirst Du direkt Atmel-C-Programmierung betreiben müssen. Wird sicher nicht sonderlich schwer, man kann ja auch in die entsprechende Libs auch reinschauen. Die letztendliche Sicherheit hast Du, wenn Du es ausprobierst ;)

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy