Re: ESP32 domácí automatizace
as5s
as5sgm na gmail.com
Pondělí Srpen 2 09:49:45 CEST 2021
Dobry den,
skuste pozriet na vTaskDelayUntil()
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/freertos.html#_CPPv415vTaskDelayUntilPC10TickType_tK10TickType_t
mozno vam to bude stacit.
Myre
On 2. 8. 2021 9:45, Jan Půhoný wrote:
> Dobrý den,
>
> mám tady další zádrhel - mějme funkci, která ovládá výstupní piny,
> potřebuji po nastavení udžet cca 20 sekund v HIGH a pak vrátit vše do
> low. Jedná se o otevítání a zavírání ventilu. Přidal jsem tedy mezi to
> vTaskDelay(20000 / portTICK_PERIOD_MS); , problém je v tom, že někdy
> se to zpoždění značně zkrátí a ventil zůstane napolo otevřený. Jak se
> toto dá ošetřit aby se vTaskDelay(20000 / portTICK_PERIOD_MS); nikdy
> nemohlo zkrátit a bylo dodrženo.
>
> Volám to pak standardně přes xTaskCreatePinnedToCore() ....
>
> void vent1On(void * parameter){
> for(;;){ // infinite loop
> button1.update(1);
> digitalWrite(ventMain1, HIGH);
> digitalWrite(ventOn1, HIGH);
> digitalWrite(ledPinRed, HIGH);
> // Pause the task fo 20s
> vTaskDelay(20000 / portTICK_PERIOD_MS);
> digitalWrite(ventMain1, LOW);
> digitalWrite(ventOn1, LOW);
> digitalWrite(ledPinRed, LOW);
> vTaskDelete(NULL); //spustí se jen jednou
> }
> }
>
>
> xTaskCreatePinnedToCore(
> vent1On, // Function that should be called
> "vent1On", // Name of the task (for debugging)
> 1000, // Stack size (bytes)
> NULL, // Parameter to pass
> 1, // Task priority
> NULL, // Task handle
> 0 // Core 1/0
> );
>
> HP
>
>
> so 31. 7. 2021 v 8:27 odesílatel Jan Půhoný <konference na puhy.cz
> <mailto:konference na puhy.cz>> napsal:
>
> Díky, zkusil jsem jak 2000 tak 4000 ale stále stejné. Resetuje se
> to pořád dokola s tímto:
>
> rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
> configsip: 0, SPIWP:0xee
> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
> mode:DIO, clock div:2
> load:0x3fff0018,len:4
> load:0x3fff001c,len:1044
> load:0x40078000,len:10124
> load:0x40080400,len:5828
> entry 0x400806a8
>
> *Ale zjistil jsem, že to dělá jen pokud to napájím z USB. Když to
> dám přímo do svého zapojení, kde je pořádná kapacita na Vin, tak
> to drží. Takže skutečně jen problém s napájením.*
>
> Teď už to budu programovat jen přes OTA, takže vyřešeno.
>
> HP
>
>
> so 31. 7. 2021 v 6:44 odesílatel Jaroslav Buchta
> <jaroslav.buchta na hascomp.cz <mailto:jaroslav.buchta na hascomp.cz>>
> napsal:
>
> kod jsem nezkoumal ale na prvni pohled mi prijde maly zasobnik
> pro
> vlakno, tady je to tusim v btech. dal bych 2 nebo 4K na zkousku
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz <http://www.HW.cz>
> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
> http://list.hw.cz/mailman/listinfo/hw-list
> <http://list.hw.cz/mailman/listinfo/hw-list>
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20210802/f8f8dfd0/attachment.html>
Další informace o konferenci Hw-list