Wie geht man hier vor wenn man operating_minutes auslesen möchte? Den Interrupt kurzzeitig deaktivieren? Kann man operating_minutes gefahrlos auslesen? Reicht ein einfaches volatile auch aus? Das verwenden von Interrupts macht das schon sehr tricky.
1 | static UINT32 operating_minutes = 0ul; |
2 | |
3 | // Interrupt Every Minute
|
4 | void __ISR(_RTCC_VECTOR, ipl4) __RTCCInterrupt(void) |
5 | {
|
6 | operating_minutes++; |
7 | }
|
8 | |
9 | |
10 | UINT32 get_op_minutes(void) { |
11 | return operating_minutes; |
12 | }
|