# Example: General Purpose Timer This example uses the timer group driver to generate timer interrupts at two specified alarm intervals. ## How to Use Example ### Hardware Required * A development board with ESP SoC (e.g., ESP32-DevKitC, ESP-WROVER-KIT, etc.) * A USB cable for Power supply and programming ### Build and Flash Run `idf.py -p PORT flash monitor` to build, flash and monitor the project. (To exit the serial monitor, type ``Ctrl-]``.) See the [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html) for full steps to configure and use ESP-IDF to build projects. ## Example Output ``` Timer Group with auto reload Group[0], timer[0] alarm event ------- EVENT TIME -------- Counter: 0x0000000000000008 Time : 0.00000160 s -------- TASK TIME -------- Counter: 0x0000000000004ed8 Time : 0.00403680 s Timer Group without auto reload Group[1], timer[0] alarm event ------- EVENT TIME -------- Counter: 0x00000000017d7848 Time : 5.00000160 s -------- TASK TIME -------- Counter: 0x00000000017dcb32 Time : 5.00424680 s Timer Group with auto reload Group[0], timer[0] alarm event ------- EVENT TIME -------- Counter: 0x0000000000000008 Time : 0.00000160 s -------- TASK TIME -------- Counter: 0x0000000000004dd4 Time : 0.00398480 s ``` ## Functionality Overview * Two timers are configured * Each timer is set with some sample alarm interval * On reaching the interval value each timer will generate an alarm * One of the timers is configured to automatically reload it's counter value on the alarm * The other timer is configured to keep incrementing and is reloaded by the application each time the alarm happens * Alarms trigger subsequent interrupts, that is tracked with messages printed on the terminal: ## Troubleshooting For any technical queries, please open an [issue] (https://github.com/espressif/esp-idf/issues) on GitHub. We will get back to you soon.