Hirdetés

Új hozzászólás Aktív témák

  • _q

    addikt

    Sziasztok!

    Úgy alakult, hogy kellene freertos kódot használjak. Van 4 task, ebből 1 db fut core 0-n a többi core 1-en. Jelenleg a 0-ra tettem egy wifi-s részt, ami figyeli a klienstől jön-e adat, ha igen akkor fogadja. Tettem bele delay-t is, de sajnos mindig előjön valami, ami miatt restartol az ESP32. A hiba ez lenne:

    A kód ahol előjön a hiba:

    void wificlientTask( void * parameter)
    {
    while(1)
    {
    String clientData;
    char raw_data[11];
    int i = 0;
    int idxBatLevel = 0;
    int idxTemp = 0;

    WiFiClient client = wifiServer.available();
    if (client) {
    unsigned long CLIENT_TIMEOUT = millis();

    while (client.available() == 0) {
    if((millis() - CLIENT_TIMEOUT) > 10000) {
    Serial.println(">>> Client Timeout !");
    client.stop();
    return;
    }
    delay(10);
    }

    while (client.available()) { // if there's bytes to read from the client,
    char c = client.read();
    if(c != 'W')
    {
    raw_data[i++] = c;
    }
    Serial.print(c);
    delay(10);
    }
    }
    }

    Lenne ötletetek, hogy mit kellene csináljak? Valami a while (client.available() résznél lehet, valamiért mint ha beakadna.

Új hozzászólás Aktív témák