dúvida sobre tempo de execução dentro de uma função

Senhores,

tenho um controle de transferência de cargas (eletrônica a parte) que fornece ao arduino um entrada de status de sincronismo, isso é, se posso realizar a troca de alimentação ou não.
Caso o sincronismo esteja ok a sincronização é direta, mas se não for deve contabilizar um delay para comutação de 16ms. Porem ao executar o código e forçar essa condição tenho me deparado com tempos de 400ms, o que não serve para esse projeto. (linhas do programa 442 a 456)

Alguma ideia de como encurtar esse processamento, me faltou o conhecimento neste ponto.

Obrigado,
Teodoro

Exibições: 647

Responder esta

Respostas a este tópico

Teodoro, esta está difícil.

Não funciona com millis().

Não funciona com delay().

Só sobra o uso de interrupções. Anexei um arquivo txt com uma sugestão de uma possível resolução usando o Timer1.

Não faço a menor ideia se vai funcionar. Seu sketch está muito bem escrito, mas ainda assim é difícil entender todas as minúcias.

Teste por sua conta e risco.

Uma outra sugestão é usar o módulo RTC com alarmes.

Veja um exemplo aqui:

https://www.arduino.cc/en/Tutorial/SimpleRTCAlarm

Anexos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço