
Explore interrupt driven embedded applications by examining how microcontrollers and their interrupt controllers work, and learn to set up interrupt handling across platforms with practical examples.
You'll see how Interrupts resemble baking a cake.
You'll see how Interrupts resemble the way we (should) handle incoming cellphone calls.
Explore the hardware elements that enable interrupt handling—the global, the mask, the vectors, the service routines, and the stack. These pieces will be united in the next sequence.
Identify local interrupt flags, the bits that initiate and signal pending interrupts. Clear them via platform-dependent procedures after servicing the interrupt; a logical one signals pending.
This analogy on the logistics of a grocery store makes it obvious when to use blocking functions and when not to.
In this third part of the Beyond Arduino series, you'll learn why single-threaded applications are inefficient and perform so bad when handling input/output requests.
You'll learn about the Interrupt-Driven approach to handling asynchronous events and most of its advantages over the traditional approach to do everything inside a loop, which you aren't always aware of because of the immense body of elements that conceal the details in many beginner platforms, like the Arduino, for the sake of simplicity.
You'll learn theoretical, proven facts about the advantages of Interrupts, and you'll also get to try it with your own microcontroller platform on several optional projects that are presented to you as challenges. So this is not exactly a hands-on course, not if you don't want it to be. There are no promises on the projects you’ll make because we won’t force you to build something you didn’t choose to. However, we strongly recommend that you code along. Several microcontroller development platforms are showcased, but you should follow the examples with your own microcontroller.
After grasping this knowledge, we expect you to think differently when designing your embedded applications in the future. By adding this technique to your bag of tricks, you'll get one step closer to making embedded applications like a professional, and hopefully you'll feel less like a beginner.