- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 35

Thema: std::thread für ESP32 unter Arduino IDE zum Laufen zu kriegen...?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    sorry, da müsste ich erstmal selber was probieren, hab keinen plan wie man auf die schnelle bei arduino nen timer hinbastelt
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  2. #2
    HaWe
    Gast
    Zitat Zitat von Ceos Beitrag anzeigen
    sorry, da müsste ich erstmal selber was probieren, hab keinen plan wie man auf die schnelle bei arduino nen timer hinbastelt
    reicht dir millis()
    oder float secs = millis/1000.0 ?

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    völlig, nur irgend eine Zeitreferenz

    Code:
    uint64_t vorher, nachher;  //ich nehme einfach mal an dass millis uint64 ist
    vorher= millis();
    std::this_thread::sleep_for(one_sec);
    nachher = millis;
    
    Serial.println("sleep1:");
    Serial.println(vorher);
    Serial.println(nachher);
    Serial.println(millis);
    soll natürlich jeweils für jeden sleep dann sleep1 sleep2 und sleep3 heißen damit man weis welcher gerade ausgegeben wird

    meine Vermutung ist, dass zwischen vorher und nachher immer rund 1000 Differenz ist, aber der 3te Wert zwischen den Sleeps vorwärts und rückwärts springt

    oder, da wir neuen Code reinbringen, der counter plötzlich anfängt richtig zu zählen weil wir die racing condition brechen
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  4. #4
    HaWe
    Gast
    danke,
    und wie jetzt wo hin kopiert?

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    jeweils um die 3 Zeilen mit
    "std::this_thread::sleep_for(one_sec);"

    herum nur eben für jede ein anderes "sleep1" "sleep2" "sleep3"
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  6. #6
    HaWe
    Gast
    sei doch bitte so nett und schreib das mal komplett als thread, nicht dass ich es falsch versteh und dann nur Mist raus
    kommt.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    Code:
    void counter_loop() {
        static thread_local uint32_t counter = 0;
        thread_local uint64_t vorher1, nachher1;
        while(true) {
            Serial.print("counter_loop: ");
            Serial.println(counter);
            vorher1 = millis();
            std::this_thread::sleep_for(one_sec);
            nachher1 = millis();
            println("Sleep1:");
            println(vorher1);
            println(nachher1);
            println(millis());
        }
    }
    
    void blinker_loop() {
        static thread_local uint32_t counter = 0;
        thread_local uint64_t vorher2, nachher2, vorher3, nachher3;
        while(true) {
            digitalWrite(LED_BUILTIN, HIGH);
            Serial.print("blinker_loop (HIGH) counter: ");
            Serial.println(counter);
            vorher2 = millis();
            std::this_thread::sleep_for(one_sec);
            nachher2 = millis();
            println("Sleep2:");
            println(vorher2);
            println(nachher2);
            println(millis());
            
            digitalWrite(LED_BUILTIN, LOW);
            Serial.print("blinker_loop (LOW) counter: ");
            Serial.println(counter);
            vorher3 = millis();
            std::this_thread::sleep_for(one_sec);
            nachher3 = millis();
            println("Sleep3:");
            println(vorher3);
            println(nachher3);
            println(millis());
        }
    }
    ich habe mal noch explizit die Variablen getrennt um irgendwelche Phänomene auszuschließen
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

Ähnliche Themen

  1. Esp32 a2dp in arduino IDE
    Von Flos6323 im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 27.06.2018, 15:28
  2. Installation des Arduino Core für ESP32 ohne GIT
    Von mischaka im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 0
    Letzter Beitrag: 26.04.2018, 07:20
  3. Arduino Cinque: RISC-V-Prozessor und ESP32 auf einem Board vereint
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 1
    Letzter Beitrag: 22.05.2017, 16:29
  4. Display für esp32?
    Von NotEvil im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 7
    Letzter Beitrag: 04.12.2016, 16:37
  5. Kugelgelenke - woher kriegen?
    Von Gottfreak im Forum Mechanik
    Antworten: 15
    Letzter Beitrag: 04.01.2005, 17:56

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen