Skip to content

Timers, interrupts, watchdog, DMA and clocks

Module goal: use a microcontroller’s main peripherals according to the rules of ISR context and RTOS.

Status: alpha (experimental) · Approximate time: 280 minutes

Every lesson has content, examples you can run on your computer, practice with a solution, a check for understanding, and a lab. The course code runs and has been checked on a computer; the on-board labs are still waiting for a teaching trial.

Lesson Topic Time
c-found.m04.l01 GPIO and interrupts 70 min
c-found.m04.l02 Timers and clocks 70 min
c-found.m04.l03 The watchdog 70 min
c-found.m04.l04 DMA 70 min
  • Read a button with an interrupt and debounce it without blocking, with the ISR doing the least possible work and handing off to a task.
  • Calculate a timer’s frequency correctly from a BSP setting (a divider of N divides by N+1), and explain what the clock does to accuracy.
  • Explain the correct place to feed the watchdog in an example program, and read a real board’s reset cause.
  • Point to where in the SDK’s camera driver the cache must be cleaned before DMA can read, and explain why some buffers are placed in memory that bypasses the cache.

TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0

Content is licensed CC BY-NC 4.0. Reuse it non-commercially and credit the Thai Embedded Systems Association (TESA) every time. · How to cite TESA