- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 21 bis 30 von 35

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

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #23
    HaWe
    Gast
    ah, ok....!
    Man merkt: kein Arduinorianer...

    print geht nicht, nur Serial.print,
    und Serial.print geht nicht mit uint64_t

    habe es geändert, das Ergebnis sieht aber ziemlich wirr aus...:

    Code:
    // std::thread for ESP32, Arduino IDE
    
    // https://www.roboternetz.de/community/threads/73446-std-thread-f%C3%BCr-ESP32-unter-Arduino-IDE-zum-Laufen-zu-kriegen?p=652309&viewfull=1#post652309  
    
    // https://github.com/espressif/arduino-esp32/issues/2814#issuecomment-495525603  
    
    
    #include <Arduino.h>
    #include <thread>
    #include <chrono>
    
    #ifndef LED_BUILTIN
    #define LED_BUILTIN 13
    #endif
    
    const auto one_sec = std::chrono::seconds
    {
        1
    };
    
    void counter_loop() {
        static thread_local uint32_t counter = 0;
        thread_local uint32_t vorher1, nachher1;
        while(true) {
            Serial.print("counter_loop: ");
            Serial.println(counter);
            vorher1 = millis();
            std::this_thread::sleep_for(one_sec);
            nachher1 = millis();
            Serial.println("Sleep1:");
            Serial.println(vorher1);
            Serial.println(nachher1);
            Serial.println(millis());
        }
    }
    
    void blinker_loop() {
        static thread_local uint32_t counter = 0;
        thread_local uint32_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();
            Serial.println("Sleep2:");
            Serial.println(vorher2);
            Serial.println(nachher2);
            Serial.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();
            Serial.println("Sleep3:");
            Serial.println(vorher3);
            Serial.println(nachher3);
            Serial.println(millis());
        }
    }
    
    
    
    
    std::thread counter_loop_thread(counter_loop);
    std::thread blinker_loop_thread(blinker_loop);
        
    void setup() {
        Serial.begin(115200);
        pinMode(LED_BUILTIN, OUTPUT);
        
    }
    
    uint32_t main_loop_counter = 0;
    void loop() {
        main_loop_counter++;
        Serial.print("main loop: ");
        Serial.println(main_loop_counter);
        delay(10000);
    }
    Code:
    main loop: 1
    Sleep1:
    1
    1001
    1001
    counter_loop: 0
    Sleep2:
    1
    1001
    1001
    blinker_loop (LOW) counter: 0
    Sleep3:
    1001
    2001
    2001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    1001
    2001
    2001
    counter_loop: 0
    Sleep1:
    2001
    3001
    3001
    counter_loop: 0
    Sleep2:
    2001
    3001
    3001
    blinker_loop (LOW) counter: 0
    Sleep3:
    3001
    4001
    4001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    3001
    4001
    4001
    counter_loop: 0
    Sleep1:
    4001
    5001
    5001
    counter_loop: 0
    Sleep2:
    4001
    5001
    5001
    blinker_loop (LOW) counter: 0
    Sleep3:
    5001
    6001
    6001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    5001
    6001
    6001
    counter_loop: 0
    Sleep1:
    6001
    7001
    7001
    counter_loop: 0
    Sleep2:
    6001
    7001
    7001
    blinker_loop (LOW) counter: 0
    Sleep3:
    7001
    8001
    8001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    7001
    8001
    8001
    counter_loop: 0
    Sleep1:
    8001
    9001
    9001
    counter_loop: 0
    Sleep2:
    8001
    9001
    9001
    blinker_loop (LOW) counter: 0
    Sleep3:
    9001
    10001
    10001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    9001
    10001
    10001
    counter_loop: 0
    main loop: 2
    Sleep1:
    10001
    11001
    11001
    counter_loop: 0
    Sleep2:
    10001
    11001
    11001
    blinker_loop (LOW) counter: 0
    Sleep3:
    11001
    12001
    12001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    11001
    12001
    12001
    counter_loop: 0
    Sleep1:
    12001
    13001
    13001
    counter_loop: 0
    Sleep2:
    12001
    13001
    13001
    blinker_loop (LOW) counter: 0
    Sleep3:
    13001
    14001
    14001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    13001
    14001
    14001
    counter_loop: 0
    Sleep1:
    14001
    15001
    15001
    counter_loop: 0
    Sleep2:
    14001
    15001
    15001
    blinker_loop (LOW) counter: 0
    Sleep3:
    15001
    16001
    16001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    15001
    16001
    16001
    counter_loop: 0
    Sleep1:
    16001
    17001
    17001
    counter_loop: 0
    Sleep2:
    16001
    17001
    17001
    blinker_loop (LOW) counter: 0
    Sleep3:
    17001
    18001
    18001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    17001
    18001
    18001
    counter_loop: 0
    Sleep1:
    18001
    19001
    19001
    counter_loop: 0
    Sleep2:
    18001
    19001
    19001
    blinker_loop (LOW) counter: 0
    Sleep3:
    19001
    20001
    20001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    19001
    20001
    20001
    counter_loop: 0
    main loop: 3
    Sleep1:
    20001
    21001
    21001
    counter_loop: 0
    Sleep2:
    20001
    21001
    21001
    blinker_loop (LOW) counter: 0
    Sleep3:
    21001
    22001
    22001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    21001
    22001
    22001
    counter_loop: 0
    Sleep1:
    22001
    23001
    23001
    counter_loop: 0
    Sleep2:
    22001
    23001
    23001
    blinker_loop (LOW) counter: 0
    Sleep3:
    23001
    24001
    24001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    23001
    24001
    24001
    counter_loop: 0
    Sleep1:
    24001
    25001
    25001
    counter_loop: 0
    Sleep2:
    24001
    25001
    25001
    blinker_loop (LOW) counter: 0
    Sleep3:
    25001
    26001
    26001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    25001
    26001
    26001
    counter_loop: 0
    Sleep1:
    26001
    27001
    27001
    counter_loop: 0
    Sleep2:
    26001
    27001
    27001
    blinker_loop (LOW) counter: 0
    Sleep3:
    27001
    28001
    28001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    27001
    28001
    28001
    counter_loop: 0
    Sleep1:
    28001
    29001
    29001
    counter_loop: 0
    Sleep2:
    28001
    29001
    29001
    blinker_loop (LOW) counter: 0
    Sleep3:
    29001
    30001
    30001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    29001
    30001
    30001
    counter_loop: 0
    main loop: 4
    Sleep1:
    30001
    31001
    31001
    counter_loop: 0
    Sleep2:
    30001
    31001
    31001
    blinker_loop (LOW) counter: 0
    Sleep3:
    31001
    32001
    32001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    31001
    32001
    32001
    counter_loop: 0
    Sleep1:
    32001
    33001
    33001
    counter_loop: 0
    Sleep2:
    32001
    33001
    33001
    blinker_loop (LOW) counter: 0
    Sleep3:
    33001
    34001
    34001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    33001
    34001
    34001
    counter_loop: 0
    Sleep1:
    34001
    35001
    35001
    counter_loop: 0
    Sleep2:
    34001
    35001
    35001
    blinker_loop (LOW) counter: 0
    Sleep3:
    35001
    36001
    36001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    35001
    36001
    36001
    counter_loop: 0
    Sleep1:
    36001
    37001
    37001
    counter_loop: 0
    Sleep2:
    36001
    37001
    37001
    blinker_loop (LOW) counter: 0
    Sleep3:
    37001
    38001
    38001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    37001
    38001
    38001
    counter_loop: 0
    Sleep1:
    38001
    39001
    39001
    counter_loop: 0
    Sleep2:
    38001
    39001
    39001
    blinker_loop (LOW) counter: 0
    Sleep3:
    39001
    40001
    40001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    39001
    40001
    40001
    counter_loop: 0
    main loop: 5
    Sleep1:
    40001
    41001
    41001
    counter_loop: 0
    Sleep2:
    40001
    41001
    41001
    blinker_loop (LOW) counter: 0
    Sleep3:
    41001
    42001
    42001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    41001
    42001
    42001
    counter_loop: 0
    Sleep1:
    42001
    43001
    43001
    counter_loop: 0
    Sleep2:
    42001
    43001
    43001
    blinker_loop (LOW) counter: 0
    Sleep3:
    43001
    44001
    44001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    43001
    44001
    44001
    counter_loop: 0
    Sleep1:
    44001
    45001
    45001
    counter_loop: 0
    Sleep2:
    44001
    45001
    45001
    blinker_loop (LOW) counter: 0
    Sleep3:
    45001
    46001
    46001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    45001
    46001
    46001
    counter_loop: 0
    Sleep1:
    46001
    47001
    47001
    counter_loop: 0
    Sleep2:
    46001
    47001
    47001
    blinker_loop (LOW) counter: 0
    Sleep3:
    47001
    48001
    48001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    47001
    48001
    48001
    counter_loop: 0
    Sleep1:
    48001
    49001
    49001
    counter_loop: 0
    Sleep2:
    48001
    49001
    49001
    blinker_loop (LOW) counter: 0
    Sleep3:
    49001
    50001
    50001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    49001
    50001
    50001
    counter_loop: 0
    main loop: 6
    Sleep1:
    50001
    51001
    51001
    counter_loop: 0
    Sleep2:
    50001
    51001
    51001
    blinker_loop (LOW) counter: 0
    Sleep3:
    51001
    52001
    52001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    51001
    52001
    52001
    counter_loop: 0
    Sleep1:
    52001
    53001
    53001
    counter_loop: 0
    Sleep2:
    52001
    53001
    53001
    blinker_loop (LOW) counter: 0
    Sleep3:
    53001
    54001
    54001
    blinker_loop (HIGH) counter: 0
    Sleep1:
    53001
    54001
    54001
    counter_loop: 0
    - - - Aktualisiert - - -

    lad dir doch mal ne "portable" Arduino IDE herunter...
    Geändert von HaWe (24.05.2019 um 16:18 Uhr)

Ä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
  •  

Solar Speicher und Akkus Tests