libopencm3-examples icon indicating copy to clipboard operation
libopencm3-examples copied to clipboard

Fix mainloop to not lose interrupts

Open smurfix opened this issue 4 years ago • 0 comments

While looking for an example WRT interrupt handling and sleep, I found this -lowpower example. However, this example looks like it could lose an interrupt if it arrives while the main loop is not executing the __WFI() call.

In other words, there should be a cm_disable_interrupts() somewhere in there.

Granted that this is somewhat unlikely to happen with this particular example (release the button after exactly one second …), but the rules are different in a real-world program. Thus I extended the example so that people won't copy incomplete code.

smurfix avatar Nov 01 '19 21:11 smurfix