Eu tenho um isr que está atualizando uma exibição em uma frequência fixa. Gostaria de ajustar minha rotina para minimizar a sobrecarga e manter o tempo possível da CPU aberto para outro processamento, mas não tenho nenhuma maneira boa de coletar métricas para determinar minha carga de CPU.
Eu podia olhar para a montagem e analisar a rotina, mas não tenho paciência ou capacidade de fazer isso com precisão. Também não acho que preciso de resultados de granulação muito fina, apenas uma porcentagem simples do tempo de CPU ocupado pelo isr.
Eu poderia definir um pino alto somente quando o isr estiver ativo e medi-lo externamente. Isso tem um mínimo de sobrecarga no código, mas não sei com o que medir. Eu não tenho um osciloscópio ou algo assim. Existe uma maneira simples ou fácil de usar outro micro para medir o ciclo de trabalho? Ouvi falar de chips dedicados de contador de frequência, mas há algo para o ciclo de serviço?