Os timers são configurados como um múltiplo do clock do sistema. O código abaixo ilustra a esta configuração e uso do timer para a criação de uma função Delay usada no programa.
A primeira providência é o fragmento entre as linhas 24 e 26, onde é configurado o Systick Timer. A base para esta configuração é a constante SystemCoreClock, que é o número de ticks, ou ciclos do clock do sistema por segundo. Quando dividido por 1000, isto equivale a um intervalo de 1 ms onde o Systick_Handler será chamado (linha 45). Desta forma, a cada 1 ms é executado o código entre as linhas 45 e 48, onde a variável TimingDelay é decrementada até chegar a zero.
A variável TimingDelay é declarada na linha 38. Observe o uso de "__IO": isto faz com que o compilador não faça uma otimização indesejada, adulterando o padrão de tempo configurado.
E como esta variável é setada? Observe que seu valor é atribuído na passagem do parâmetro da função Delay, entre as linhas 40 e 43 do código.
Desta forma, agora podemos definir o tempo desejado em que o LED pisca, que, a exemplo do código acima, foi setado como 250 ms.
No próximo post da série, apresentaremos uma nova aplicação, onde utilizaremos o botão da placa como uma entrada. Até lá!
Nenhum comentário:
Postar um comentário