Saving Power

The Atmegas have a number of power saving options. All of them are available with the sleep instruction. Amforth has a wrapper word with the same name which works on newer atmegas only. You can simply include the file words/sleep.asm into your dict_appl.inc file and try assembling. If it does not produce an error, the sleep instruction can be used.

The next step is a system that uses interrupt driven terminal IO and possibly other interrupt sources. This makes it possible to include the sleep call into the pause deferred word.

: mypause 0 sleep ; ' mypause is pause

The exact meaning of the parameter (0) should be checked with the data sheet. Also make sure, that the interrupts are working properly. Otherwise the controller will sleep until the reset button is pressed..