Hirdetés

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

  • Panhard

    tag

    válasz Panhard #7787 üzenetére

    Szerintem nem is az volt a baja a kutyának, hogy nem tudott a függvénytől futni a második task, hanem csak annyi, hogy nem csinál semmit 5mp-ig az első. Így néz ki a programban a task kezelés:

    xTaskCreatePinnedToCore(loop1, "loop1", 4096, NULL, 1, NULL, 1);
    xTaskCreatePinnedToCore(loop2, "loop2", 4096, NULL, 1, NULL, 0);

    }
    //***********************************************************************************************************
    void loop() {


    }
    //***********************************************************************************************************
    void loop1(void *pvParameters) {

    while (1) {

    gps();

    }
    }
    //***********************************************************************************************************
    void loop2(void *pvParameters) {

    while (1) {

    temp_millis = millis();
    if(temp_millis>temp_millis_1 ) { temp_millis_1 = temp_millis+2000; meghiv(); }

    }
    }
    //***********************************************************************************************************

    Ami fontos, hogy a gps függvénynek minden ciklusban hívódnia kell a loop1-ben, az nem állhat meg, mert akkor nem tudja beolvasni a gps vevőt a serial porton.
    Minden más programrész a loop2-ben van, aminél nem számít, ha le is lassul a ciklusidő pár másodpercre. Ott amúgy is 2másodpercenként hívom meg a meghív függvényt.

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