This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:iot-open:practical:hardware:sut:esp32:adv1_1 [2024/03/25 20:14] – [Steps] pczekalski | en:iot-open:practical:hardware:sut:esp32:adv1_1 [2025/10/03 11:22] (current) – [FAQ] pczekalski | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== ADV1: Using timers to execute code asynchronously ====== | ====== ADV1: Using timers to execute code asynchronously ====== | ||
| - | It is advised to use timers that periodically execute a function to handle repeating tasks. Hardware timers work parallel to the CPU and consume few CPU resources. ESP32-S3 has 4 hardware timers, but each timer can execute multiple handlers. | + | It is advised to use timers that periodically execute a function to handle repeating tasks. Hardware timers work parallel to the CPU and consume few CPU resources. ESP32-S3 has 4 hardware timers, but each timer can execute multiple handlers. |
| - | The idea of using the timer is to encapsulate a piece of compact code that can be run virtually asynchronously and executed is a precisely-defined time manner. In this scenario, we use a timer to update the LCD screen periodically. We choose a dummy example where Timer 1 is used to increment a value of the '' | + | The idea of using the timer is to encapsulate a piece of compact code that can be run virtually asynchronously and executed is a precisely-defined time manner. In this scenario, we use a timer to update the LCD screen periodically. We choose a dummy example where Timer 1 is used to increment a value of the '' |
| Line 117: | Line 117: | ||
| === Step 7 === | === Step 7 === | ||
| - | This way, a main loop is empty: everything runs asynchronously, | + | This way, a main loop is empty: everything runs asynchronously, |
| <code c> | <code c> | ||
| void loop() | void loop() | ||
| Line 128: | Line 128: | ||
| ===== FAQ ===== | ===== FAQ ===== | ||
| - | **How many timers can I use?**: ESP32-S3 has 4 hardware timers. You may trick this limitation by using smart handlers that have, e.g., an internal counter and internally | + | **How many timers can I use?**: ESP32-S3 has 4 hardware timers. You can circumvent |
| <WRAP noprint> | <WRAP noprint> | ||