Tengo un isr que está actualizando una pantalla a una frecuencia fija. Me gustaría ajustar mi rutina para minimizar la sobrecarga y mantener abierta la mayor cantidad de tiempo de CPU posible para otro procesamiento, pero no tengo ninguna buena forma de recopilar métricas para determinar mi carga de CPU.
Podría mirar el ensamblaje y analizar la rutina, pero no tengo la paciencia ni la capacidad para hacerlo con precisión. Tampoco siento que necesite resultados muy finos, solo un porcentaje simple del tiempo de CPU ocupado por el ISR.
Podría establecer un pin alto solo cuando el isr está activo y medirlo externamente. Eso tiene un mínimo de sobrecarga en el código, pero no sé con qué medirlo. No tengo un osciloscopio ni nada de eso. ¿Existe una forma simple o fácil de usar otro micro para medir el ciclo de trabajo? He oído hablar de chips de contador de frecuencia dedicados, pero ¿hay algo para el ciclo de trabajo?