hallo allerseits,
in einem der erklärungsbeispiele für "blink without delay" stiess ich auf folgenden code:
was bedeutet z.b. hier: #define "laufzeit_1 1234UL" das "UL"?Code:/* /* Blink Without Delay - anhand von Beispielen erklärt fünf parallel laufende, voneinander unabhängige, unterschiedliche Zeiten https://www.arduinoforum.de/arduino-Thread-Blink-Without-Delay-mal-anders-erkl%C3%A4rt !!! Variablen zum speichern von Zeiten aus millis() und micros() immer 'unsigned long' deklarieren !!! */ // Variablen deklarieren in denen die Startzeiten // der einzelnen Zeitfunktionen gespeichert werden unsigned long startzeit_1 = 0; unsigned long startzeit_2 = 0; unsigned long startzeit_3 = 0; unsigned long startzeit_4 = 0; unsigned long startzeit_5 = 0; // Definitionen der einzelnen Schaltzeiten #define laufzeit_1 1234UL #define laufzeit_1 1234UL #define laufzeit_2 2345UL #define laufzeit_3 54321UL #define laufzeit_4 1111UL #define laufzeit_5 22UL // Die Anschlusspins der einzelnen LEDs festlegen const int led_1 = 10; const int led_2 = 11; const int led_3 = 12; const int led_4 = 13; // Pins als Ausgang void setup() { pinMode(led_1, OUTPUT); pinMode(led_2, OUTPUT); pinMode(led_3, OUTPUT); pinMode(led_4, OUTPUT); } void loop() { // laufzeit_1 EIN, laufzeit_1 AUS - LED schalten in loop - Schaltzeiten in Millisekunden if (millis() - startzeit_1 >= laufzeit_1) { startzeit_1 = millis(); digitalWrite(led_1, digitalRead(led_1) ^ 1); } // laufzeit_2 EIN, laufzeit_2 AUS - LED schalten in Funktion - Schaltzeiten in Millisekunden if (millis() - startzeit_2 >= laufzeit_2) { startzeit_2 = millis(); led2(); } // laufzeit_3 EIN, laufzeit_3 AUS - LED schalten in loop - Schaltzeiten in Microsekunden if (micros() - startzeit_3 >= laufzeit_3) { startzeit_3 = micros(); digitalWrite(led_3, digitalRead(led_3) ^ 1); } // asymetrische Zeiten - laufzeit_5 EIN, laufzeit_4 AUS - LED schalten in loop - Schaltzeiten in Millisekunden if (!digitalRead(led_4) && millis() - startzeit_4 >= laufzeit_4 ) { startzeit_5 = millis(); digitalWrite(led_4, digitalRead(led_4) ^ 1); } if (digitalRead(led_4) && millis() - startzeit_5 >= laufzeit_5 ) { startzeit_4 = millis(); digitalWrite(led_4, digitalRead(led_4) ^ 1); } } // Unterprogramm für Led 2 void led2() { digitalWrite(led_2, digitalRead(led_2) ^ 1); }
oder hier: "digitalWrite(led_4, digitalRead(led_4) ^ 1);" das "^ 1"?







Zitieren
Lesezeichen