Tengo un ISR que está actualizando una pantalla a una frecuencia fija. Me gustaría ajustar mi rutina para minimizar la sobrecarga y mantener abierto el mayor tiempo posible de CPU para otro procesamiento, pero no tengo una buena manera de recopilar métricas para determinar mi carga de CPU.
Podría mirar la asamblea y analizar la rutina, pero no tengo la paciencia o la capacidad para hacerlo con precisión. Tampoco siento que necesito resultados extremadamente finos, solo un porcentaje simple de 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 un ic simple o una manera 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?