Lauflicht mit Interrupt
|
03.12.2019, 23:26
Beitrag #1
|
|||
|
|||
Lauflicht mit Interrupt
Ich hab folgendes Programm im I-net gefunden .
Mir stellt sich nun die Frage wo sind die Taster dort definiert bzw. woher weis ich wo ich sie anschliessen muss an welchem Ausgang ? Code: //Lauflicht - Interruptgesteuert |
|||
04.12.2019, 05:03
Beitrag #2
|
|||
|
|||
RE: Lauflicht mit Interrupt
(03.12.2019 23:26)senseman schrieb: Ich hab folgendes Programm im I-net gefunden . Ausgänge sind D8 bis D13. Das sieht man anhand der For-Schleifen. Aber delays innerhalb von Interrupt-Routinen? Globale Variablen nicht volatile? Ganz schlechter Code! Das schafft man übrigens auch ganz ohne Interrupts und ohne Delays. |
|||
04.12.2019, 08:40
Beitrag #3
|
|||
|
|||
RE: Lauflicht mit Interrupt
(04.12.2019 05:03)Gorathan schrieb:Taster legt man üblicherweise nicht auf Ausgänge, sondern auf Eingangspins.(03.12.2019 23:26)senseman schrieb: Ich hab folgendes Programm im I-net gefunden . Auch die sind klar definiert mit IRQ0 und IRQ1. Welche Pins das sind findet man im Datenblatt. Bei dem Rest, gebe ich dir Recht. Solch schlechten Programmierstiel sollte man sich nicht aneignen und besser auch nicht verwenden. Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
04.12.2019, 09:32
Beitrag #4
|
|||
|
|||
RE: Lauflicht mit Interrupt
(04.12.2019 05:03)Gorathan schrieb: Globale Variablen nicht volatile? Hallo, ich mische mich mal ein... ich bin selbst noch ein Anfänger und lerne gerade noch. Mir war bis gerade volatile gar nicht bekannt, habe aber jetzt sofort einmal nachgelesen. Also wenn ich das richtig verstehe, kann ich eine als volatile deklarierte Variable auch in Funktionen verwenden??? Wozu brauch man dann überhaupt noch Globale Variable? |
|||
04.12.2019, 11:12
Beitrag #5
|
|||
|
|||
RE: Lauflicht mit Interrupt
(04.12.2019 09:32)DO3GE schrieb:Nein, das hast Du falsch verstanden!(04.12.2019 05:03)Gorathan schrieb: Globale Variablen nicht volatile? Volatile ist dazu da, um globale Variablen in Interrupt-Funktionen zu verwenden. Lies mal hier: https://www.arduino.cc/reference/de/lang.../volatile/ |
|||
04.12.2019, 13:06
Beitrag #6
|
|||
|
|||
RE: Lauflicht mit Interrupt
(04.12.2019 11:12)Gorathan schrieb: Lies mal hier: https://www.arduino.cc/reference/de/lang.../volatile/ Genau das hatte ich auch gefunden und gelesen. Aber bei mir ist dann void blink() dann ehr eine Function als ein Interrupt... oder??? Ich komme aus der .net Ecke und da würde man es ehr Functioin nennen. Letztendlich ist es aber nur eine Definition/Bezeichnung, ich hab es aber richtig verstanden. ***Kleinlaut: HOFFE ICH *** ;-) |
|||
04.12.2019, 13:09
Beitrag #7
|
|||
|
|||
RE: Lauflicht mit Interrupt
blink() in dem Beispiel ist eine Funktion, die als InterruptServeceRoutine genutzt wird (duch attachInterrupt).
Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
04.12.2019, 19:09
Beitrag #8
|
|||
|
|||
RE: Lauflicht mit Interrupt
Weil ich ja im Post#2 geschrieben habe, dass man das Ganze auch ohne Interrupt schreiben kann, will ich das hier mal beweisen:
Code: const uint8_t LED_PINS[] = {2, 3, 4, 5, 6, 7}; // an D2...D7 sind die LEDs angeschlossen |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste