#define tmrTIMER_2_3_FREQUENCY ( 2001UL )\r
\r
/* Handlers for the two timers used. */\r
-void vT0_1InterruptHandler( void ) __attribute((interrupt));\r
-void vT2_3InterruptHandler( void ) __attribute((interrupt));\r
+void vT0_1InterruptHandler( void ) __attribute((naked));\r
+void vT2_3InterruptHandler( void ) __attribute((naked));\r
\r
void vInitialiseTimerForIntQueueTest( void )\r
{\r
\r
void vT0_1InterruptHandler( void )\r
{\r
+ /* This is a naked function. This macro saves registers then re-enables\r
+ interrupts. */\r
+ portENTER_INTERRUPT();\r
+ \r
portYIELD_FROM_ISR( xFirstTimerHandler() );\r
+ \r
+ /* Restore registers, then return. */\r
+ portEXIT_INTERRUPT();\r
}\r
/*-----------------------------------------------------------*/\r
\r
void vT2_3InterruptHandler( void )\r
{\r
+ /* This is a naked function. This macro saves registers then re-enables\r
+ interrupts. */\r
+ portENTER_INTERRUPT();\r
+ \r
portYIELD_FROM_ISR( xSecondTimerHandler() );\r
+ \r
+ /* Restore registers, then return. */\r
+ portEXIT_INTERRUPT();\r
}\r
\r
\r