| ??? 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 |



