ESP 32 dual core taks reinicia quando não possui nenhuma instrução

Salve povo do bem

Estou trabalhando em meu projeto e estou estudando a utilização de execução em cores separados.

Me deparei com um problema muito interessante:

Quando não utilizo nenhuma instrução de execução nas Taks o processador reinicia.

Percebi isso quando coloquei uma instrução de input de leitura digital num deles e removi os blinks de saida.

No exemplo abaixo, não existe nenhuma instrução e o mesmo reinicia sempre.

Estou usando o Esp32 Dev Kit

O código está em anexo.

Fonte de exemplo: https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/

Amplexos

 

Exibições: 84

Anexos

Responder esta

Respostas a este tópico

Boa tarde CB,

sugiro que vc remova o código que colou na área de texto do seu tópico, 

em seguida anexe um arquivo contendo o código.

Recomento também a leitura de : http://labdegaragem.com/forum/topics/sugest-o-de-como-postar

Dai, feito isto,voltamos a conversar.

Desde já, brigado pela compreensão.

RV

Boa noite.

Desculpe a demora.

As alterações sugeridas foram executadas com sucesso.

Amplexos

 

CB,

dentro de cada task, coloque  pelo menos um pseudo loop.

Se você cria um task é para usa-la, se não não faz sentido te-la,

teste o código que anexei e conta o resultado

RV

sketch_sep03a.ino

Se quiser entender melhor o uso dos cores, sugiro a passear por este site.

https://www.hackster.io/rayburne/esp32-in-love-with-both-cores-8dd948

RV

Obrigado pela dica.
Vou ler com muita atenção.

Obrigado.
Agora vou ter que agregar este pseudo loop caso a cpu de controle não esteja recebendo nenhuma informação externa.
Só assim para o processador não reiniciar.

Concordo com você.
Faltou um pouquinho de analise da minha parte.

Abs

Olá, Carlos.
Experimenta colocar assim dentro da sua task:

void Task2code( void * pvParameters ){
    for( ;; )
    {
      //Note que toda task deve ter seu loop infinito, caso não tenha é gerado um erro de execução e o sistema é resetado.
    }
}

Obrigado Marcos.
Vou adaptar meu código para que isso não ocorra enquanto não houver nenhum sinal sendo gerado na entrada de um dos cores escolhidos.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço