??? 07/12/07 13:51 Read: times |
#141811 - more to atomicity and such |
I was debugging some inherited code which had this switch (Ralph) { case 1: ... break; case 2: ... break; case 3: ... break; ............... default: break; {for the purpose of 'looking' I inserted default: while(1): break;and the program hung on the while(1): even though Ralph was 1. The cause: Ralph was changed by an interrupt bwtween the Keil 'switch table search' passing the 1 and getting to the default. Erik |
Topic | Author | Date |
more to atomicity and such | 01/01/70 00:00 | |
Interesting example ... | 01/01/70 00:00 | |
which I did | 01/01/70 00:00 | |
Aside: Keil - Atomic functions | 01/01/70 00:00 | |
If you can afford it. | 01/01/70 00:00 | |
volatile | 01/01/70 00:00 | |
does this have some formal definition? | 01/01/70 00:00 | |
sequence points and side effects | 01/01/70 00:00 | |
what's exactly the value of volatile, then? | 01/01/70 00:00 | |
example | 01/01/70 00:00 | |
bu what is it good for then? | 01/01/70 00:00 | |
Ok, visualize this one | 01/01/70 00:00 | |
within a loop | 01/01/70 00:00 | |
Memory Mapped I/O | 01/01/70 00:00 | |
OK I see it now, thanks.![]() | 01/01/70 00:00 | |
volatile switch | 01/01/70 00:00 |