Ik ben opzoek naar een methode om effectief te kunnen meten of te bepalen hoe lang de maximale duur van een interrupt is op een microcontroller (Atmel UC3A0). Ik heb een eenvoudige en korte interrupt bijvoorbeeld:
De code is niet ingewikkeld en daardoor ook lekker kort, maar ik wil toch eigenlijk meten of berekenen hoelang de interrupt duurt.
Zelf dacht ik per instructie de hoeveelheid klokslagen opzoeken (als het omgezet is naar machinecode), maar er moeten betere handigere manier zijn lijkt me. Meten is natuurlijk een andere mogelijkheid, maar hoe kan ik dacht het best aanpakken? Het is voornamelijk van belang dat ik een goede indicatie heb hoelang dit duurt, maar niet dat ik eerst uren moet gaan zitten prutsen met counters ect. Iemand goede ideeën / ervaringen waarmee binnen afzienbare tijd een goede indicatie te krijgen is.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| if (parameter != 100) { if(parameter > 80) { if (parameter == 0) { parameter--; } } else { if (parameter == 0) { parameter++; } } parameter++; parameter << 5; } else { if(parameter == parameter) { if (parameter == 0) { parameter++; } } if (parameter == 100) { parameter++; } parameter = (parameter >> 50); } parameter = 5; if (parameter == 0) { *zet iets in een queue (FreeRTOS) } |
De code is niet ingewikkeld en daardoor ook lekker kort, maar ik wil toch eigenlijk meten of berekenen hoelang de interrupt duurt.
Zelf dacht ik per instructie de hoeveelheid klokslagen opzoeken (als het omgezet is naar machinecode), maar er moeten betere handigere manier zijn lijkt me. Meten is natuurlijk een andere mogelijkheid, maar hoe kan ik dacht het best aanpakken? Het is voornamelijk van belang dat ik een goede indicatie heb hoelang dit duurt, maar niet dat ik eerst uren moet gaan zitten prutsen met counters ect. Iemand goede ideeën / ervaringen waarmee binnen afzienbare tijd een goede indicatie te krijgen is.