| ??? 12/27/04 10:18 Read: times |
#83918 - Interrupt latency calculation |
Hi
I want to know how to calculate interrupt latency in a timer event. I am using Keil C++ compiler and using AT89c52 chip. I am generating 50ms interrupt and in every interrupt i increment a variable and when it reaches 20 that means i second has passed so i increment another variable seconds. then i reload the timer register for 50 milliseconds and get out of interrupt routine. i know that this routine in interrupt is taking time and i am not considering this time in interrupt. so i think after some time my timer in 8052 will be behind the clock. what i need to know is the number of clock cycles that is taking my routine in interrupt and subtract it from the 50ms number i am loading in timer register. i just want to know how to calculate how many time is talking place in the C function below. also what other processing is taking time during interrupt like jumping to interrupt routine and coming back to original point of execution. Shahzad Aslam void Timerinterrupt(void) { TR0 = 0 //stop timer z++; if(z == 20) { z = 0; seconds++; } //here i reload the TH0 and TL0 value for 50 millseconds. don't rememeber the value right now TH0 = <> TL0 = <> TR0 = 1; //start running timer } |
| Topic | Author | Date |
| Interrupt latency calculation | 01/01/70 00:00 | |
| Constant = variable | 01/01/70 00:00 | |
| Yes that's correct | 01/01/70 00:00 | |
| 16-bit auto-reload | 01/01/70 00:00 | |
| Performance Analyzer | 01/01/70 00:00 | |
| Accuracy, thats the question | 01/01/70 00:00 | |
| accuracy | 01/01/70 00:00 | |
| A bad order | 01/01/70 00:00 | |
| another alternative | 01/01/70 00:00 | |
| correction Timer2 not Timer1 | 01/01/70 00:00 | |
Timer2 | 01/01/70 00:00 |



