Qual programador não tem o interesse em saber como funciona (por dentro) um sistema operacional? "Understanding the Linux Kernel", de Daniel Bovet e Marco Cesati se propõe a ser um passeio guiado pelas principais estruturas de dados, algorítimos e truques de programação do Linux, explicando como ele trabalha e porque "funciona tão bem em uma grande variedade de sistemas".
domingo, outubro 27, 2019
quarta-feira, outubro 23, 2019
Timer1 do ATmega328 - Parte 5
Para fechar esta série de posts vamos falar das interrupções que podem ser geradas pelo Timer. Lembrando, uma interrupção é algo que interrompe o fluxo normal do programa para executar uma rotina específica (de preferência curta e rápida, para não impactar o processamento normal.
quarta-feira, outubro 16, 2019
Timer1 do ATmega328 - Parte 4
Nesta quarta parte vamos examinar um uso muito comum do timer: a geração de sinais do tipo PWM (Pulse Width Modulation). Em um sinal PWM temos um pulso sendo repetido periodicamente; o tempo em que ele se repete é o seu período (cujo inverso é a frequência). A largura do pulso é o tempo que o sinal permanece em nível alto. É comum falarmos também no duty cycle, que é a relação entre a largura e o período (ou seja, a porcentagem do tempo que o sinal fica em nível alto).
Por exemplo, vamos considerar um pulso de 25 microssegundos (us) que se repete a cada 100 microssegundos. O período é 100 us, a frequência é 10KHz, a largura é 25uS e o duty cycle é 25%.
Embora os princípios sejam simples, os detalhes são complicados. Recomendo ler e reler o manual do ATmega para ver todos os detalhes da programação destes modos.
Por exemplo, vamos considerar um pulso de 25 microssegundos (us) que se repete a cada 100 microssegundos. O período é 100 us, a frequência é 10KHz, a largura é 25uS e o duty cycle é 25%.
Embora os princípios sejam simples, os detalhes são complicados. Recomendo ler e reler o manual do ATmega para ver todos os detalhes da programação destes modos.
quarta-feira, outubro 09, 2019
Timer1 do ATmega328 - Parte 3
Nesta parte vamos falar na função de Captura do Timer1. A figura abaixo (extraída do datasheet) é o diagrama de blocos da Unidade de Captura (troque "n" por "1" nos nomes dos registradores e dos pinos).
quarta-feira, outubro 02, 2019
(Mini) Avaliação: Raspberry Pi 4 Modelo B
Mais uma geração da Raspberry Pi, desta vez com algumas mudanças significativas, e mais uma mini-avaliação (como eu fiz com as Raspberry 3, 2 e 1B+). Entre a 3 e a 4 tivemos a 3B+ que eu não cheguei a colocar a mão.
Categorias:
Avaliação,
Hardware,
Linux,
Processadores,
Raspberry Pi
Assinar:
Postagens (Atom)