Timers and Time
Next we'll look into the time related APIs exposed by the dk
HAL.
✅ Open the src/bin/blinky.rs
file.
This program will blink (turn on and off) one of the LEDs on the board. The time interval between each toggle operation is one second. This wait time between consecutive operations is generated by the blocking timer.wait
operation. This function call will block the program execution for the specified Duration
argument.
The other time related API exposed by the dk
HAL is the dk::uptime
function. This function returns the time that has elapsed since the call to the dk::init
function. This function is used in the program to log the time of each LED toggle operation.
✅ Try changing the Duration
value passed to Timer.wait
. Try values larger than one second and smaller than one second. What values of Duration
make the blinking imperceptible?
❗If you set the duration to below 2ms, try removing the defmt::println!
command in the loop. Too much logging will fill the logging buffer and cause the loop to slow down, resulting in the blink frequency to reduce after a while.