Disable the elapsed time counter.
The M2 series have an internal elapsed time counter. This is a word variable called 'time' which increments once per second (at 4 or 16MHz operation). The time variable is designed as an approximate elapsed seconds counter, it is not a real time clock. This seconds counter starts automatically on a power-on reset, but can also be disbled/enabled by the disabletime / enabletime commands.
Note that the background internal timer used to count seconds is also used by several other commands such as servo. Therefore when re-enabling the time variable incrementing function with enabletime (after a disabletime command has previously been used) the first tick could happen any time during that initial one second time period. When the time function is disabled the time variable may be altered safely with a command such as 'let time = 0'.
When a nap or sleep command is used the internal timers are disabled, and are then re-enabled after the sleep has completed. So it will be necessary to re-issue the disabletime command after using these low-power sleeping commands.
Effect of increased clock speed
The time function will increment every second at 4 MHz or 16 MHz. At 2 MHz and 8 MHz the interval will be 2s, at 32 MHz the time interval will be 0.5s.
Submit Your Own Code!
You must be logged in to submit code examples. Login now.