The following C code in the Arduino framework creates a simple periodic non-blocking 1 minute timer:
uint32_t currentMillis = 0;
uint32_t intervalMillis = 0;
void loop() {
currentMillis = millis();
if (currentMillis - intervalMillis >= 60000) {
intervalMillis = currentMillis;
// run code every minute, such as reporting telemetry to cloud
}
}
The millis() function is available within the Arduino framework. How would one go about accessing a similar function within embedded Rust? ... Assuming one is using the STM32F3DISCOVERY board. Seems to be a pertinent question being that many people will be coming to embedded Rust from an Arduino perspective.
Also, is it discouraged to use such a process? Is it usually better to implement hardware interrupts instead? If so, is there a simple example of doing so.