14-03-2019, 22:47
Zrobiłem sobie program testowy na razie i przyszło mi do głowy by wykorzystać dwa rdzenie bo co drugi będzie sobie odpoczywał.. Arduino standardowo wykorzystuje tylko 2 rdzeń pierwszy odpoczywa
Zastosowałem się do przykłądu:
https://randomnerdtutorials.com/esp32-du...duino-ide/
Ten przykład działa, ale jak pousuwam "delay" w pętlach "
Ze względu że core 0 jest obciązony 100% nie ma czasu na funkcję "watchdogs" czytałem czytałem i głowa już boli.
I gdy dam "delay" w przykładzie i w moim kodzie
Ma czas na watchdogs.. I jest ok ale tak czytam jeszcze to:
https://docs.espressif.com/projects/esp-.../wdts.html
To dobrze tam rozumię że wystarczy w kodzie umieścić [/url]
[url=https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/system/wdts.html#_CPPv318esp_task_wdt_resetv]
I będzie resetowało watchdoga?? i nie będzie błędu
Zastosowałem się do przykłądu:
https://randomnerdtutorials.com/esp32-du...duino-ide/
Ten przykład działa, ale jak pousuwam "delay" w pętlach "
Kod:
void Task1code( void * pvParameters ){
for(;;){
digitalWrite(led1, HIGH);
digitalWrite(led1, LOW);
}
}
void Task2code( void * pvParameters ){
for(;;){
digitalWrite(led2, HIGH);
digitalWrite(led2, LOW);
}
}
Ze względu że core 0 jest obciązony 100% nie ma czasu na funkcję "watchdogs" czytałem czytałem i głowa już boli.
I gdy dam "delay" w przykładzie i w moim kodzie
Kod:
void Task1code( void * pvParameters ){
for(;;){
digitalWrite(led1, HIGH);
digitalWrite(led1, LOW);
delay (10);
}
}
Ma czas na watchdogs.. I jest ok ale tak czytam jeszcze to:
https://docs.espressif.com/projects/esp-.../wdts.html
To dobrze tam rozumię że wystarczy w kodzie umieścić [/url]
Kod:
esp_task_wdt_reset()
I będzie resetowało watchdoga?? i nie będzie błędu
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą.