Otimizando o código para a eficiência da PWM
para alguns projetos, está tudo bem ter um microcontrolador, tendo os polegares muitos do tempo. Quando um projeto requer que a CPU faça apenas uma coisa mais ou mais, não há perda com código ineficiente – isso funciona ou não. No entanto, se um projeto exigir que um microcontrolador faça várias coisas ao mesmo tempo, como ler sensores, escurecer LEDs e escrevendo dados seriais, a utilização da CPU pode se tornar um problema. [Robert] não ficou satisfeito com o código que ele costumava controlar uma série de LEDs, então ele reescreveu seu código. Com a antiga implementação, o código [Robert] usou 60% do tempo da CPU. Com o novo e melhorado código, a CPU estava ocupada apenas 8% do tempo.
O código funciona usando um temporizador de hardware para definir uma interrupção. Depois de calcular a próxima vez que deve ser executado novamente e alterando o estado da linha de dados, o código apenas se senta em silêncio até que seja necessário novamente.
Não é um hack bonito, ou até mesmo você pode segurar em suas mãos, mas a determinação de [Robert] em obter um μC para fazer o que ele quer é admirável.