diff options
Diffstat (limited to 'demos/AVR-AT90CANx-GCC/chcore.c')
-rw-r--r-- | demos/AVR-AT90CANx-GCC/chcore.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/demos/AVR-AT90CANx-GCC/chcore.c b/demos/AVR-AT90CANx-GCC/chcore.c index 2d0a2c0df..53fe296ac 100644 --- a/demos/AVR-AT90CANx-GCC/chcore.c +++ b/demos/AVR-AT90CANx-GCC/chcore.c @@ -19,8 +19,23 @@ #include <ch.h>
+void chSysPause(void) {
+
+ chThdSetPriority(IDLEPRIO);
+
+ asm volatile (
+ "ldi r18, 1 \n\t" // SE bit
+ "out 0x33, r18 \n" // SMCR
+ );
+ while (TRUE) {
+ asm volatile ("sleep\n\t");
+ }
+}
+
void chSysHalt(void) {
+ chSysLock();
+
while (TRUE)
;
}
|