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.
You'll see how Interrupts resemble the way we (should) handle incoming cellphone calls.
This analogy on the logistics of a grocery store makes it obvious when to use blocking functions and when not to.
I'm an Electrical and Computer Engineer. I've been teaching Electrical and Computer Engineering at undergraduate and graduate for over 10 years now.
I love hardware, software and teaching.
I have 5 courses on Udemy so far, one on a technique to solve engineering problems easily, and a series of 4 courses (so far) on the electronics and algorithms behind microcontroller platforms.
Among the subjects in the classes I teach on campus, my strongest are Electrical Circuit Theory, Electronic Devices, Digital Design, Computer Architecture, Microcontrollers, Assembly and C Programming for Embedded Applications, Hardware Description Language, Field Programmable Gate Arrays, Artificial Intelligence, Printed Circuit Board Design and Real Time Operating Systems.
Along with two of my finest colleagues, I created one of the first MOOCs in spanish, an introduction to the Raspberry Pi. We wrote a conference paper on the outcome of this very successful course.
I recently got a Master of Science in Computer Science at Georgia Tech and I loved every minute of it.
Telecom Engineer passionate about new technologies and my family. The general background I have revolves around value added services in mobile services and also product marketing for a major brand of mobile devices. When it comes to hardware design I came across various developer platforms when designing my bachelor's thesis. After 6+ years of experience I became a mommy to my dear Ignacio and a stay at home mommy.