| ??? 10/05/07 11:09 Read: times |
#145456 - I tested changing prio level from the IT, it works |
Hi,
Just to tell you that changing the priority of an ISR from inside the same ISR works on a AT89C51 derivative. I made lots of tests to be sure. My code: The IT0 is edge activated. The external system is very fast so it happens that new edge is observed while the previous is still being serviced. The IT0 ISR must allow servicing the first new edge and don't allow servicing the second and farther (it's an overrun which is detected latter). ITs have 4 levels, 3 is the highest. What I did: The IT0 is defined level 2. When it's entered it changes its own level to 3. So the next IT0 is allowed to interrupt the current one. At any exit from ISR the level is put back to 2. Consequent IT0 can not be services before the first is finished. Alexis |
| Topic | Author | Date |
| I tested changing prio level from the IT, it works | 01/01/70 00:00 | |
| you MUST be wrong | 01/01/70 00:00 | |
| For Erik | 01/01/70 00:00 | |
| redefine test | 01/01/70 00:00 | |
| what??? and comments | 01/01/70 00:00 | |
| what | 01/01/70 00:00 | |
| IT in derivatives | 01/01/70 00:00 | |
| Stored edges | 01/01/70 00:00 | |
| I'm still certain | 01/01/70 00:00 | |
| I don't see well what you mean. | 01/01/70 00:00 | |
| how about an answer | 01/01/70 00:00 | |
| you are right | 01/01/70 00:00 | |
just read \"the bible\" | 01/01/70 00:00 |



