Primeiramente vamos definir o que precisamos implementar para delimitarmos nosso trabalho para este projeto. Estes são os pontos importantes:
Quantidade de timers a serem suportados
Na segunda parte da nossa série definimos que o nosso projeto terá duas aplicações: uma para leitura do botão e outra para controle do LED.
Enquanto a primeira periodicamente vai ler uma entrada digital, a segunda irá periodicamente escrever em uma saída digital.
Assim, cada uma precisará de um timer distinto e, portanto, vamos precisar de dois timers. ✌
Contagem máxima
Quanto ao período de tempo, vamos nos lembrar que estamos desenvolvendo brinquedos com luzes piscantes. Elas não devem piscar muito rápido (alôoooo epilepsia 🙈) e muito menos devagar (alôoooo sono 😴).
Acho seguro estimar que estaremos geralmente trabalhando na casa de centenas de milissegundos. Portanto, vamos considerar que, no pior caso, nossos timers precisarão contar até 2000 milissegundos.
Usamos desta definição para definir, por exemplo, os valores de prescalers, a fim de que os contadores sejam grandes o bastante para suportar a contagem necessária.
Modo de operação
As operações das nossas aplicações serão periódicas, já que elas sempre estarão fazendo alguma atividade, de tanto em tanto tempo. Assim, nossos drivers também precisam apenas operar como Timers periódicos. Estes, depois de iniciados, irão repetidamente ficar contando o último pedido de tempo que receberam, sem precisar de mais nenhuma ação de seus clientes.
Também, notem que não precisaremos em nenhum momento parar estes timers, então não precisamos nos preocupar em implementar alguma rotina para isto agora. 🙏
Perfeito André, excelente conteudo que sigo acompanhando desde o inicio, aprendí demais e estou na expectativa da continuação abordando a Intra. Abs, Wagner
Não é possível comentar.