Overview
Embedded Systems, STM32 MCU, NEC protocol, Timers/Counters, GPIO, External Interrupts, Nested Vectrored Interrupt Controller, Reset and Clock Control Unit, IR remote control decoding, Timing intervals measurement, ARM Cortex-M, Bare-Metal
Anyone who is interested in embedded systems, Students, Hobbyists, Engineers, Programmers
Familiarity with embedded C programming language, Understanding of electrical schematics
Hello and welcome to the STM32 Interrupt-Driven NEC Decoder embedded systems course.
With mixed hardware and programming-based approach, I have created this course to show the practical application of the embedded systems and explain the basics of the STM32 microcontrollers at the same time.
This course provides an overview of the NEC protocol and a practical example of how an infrared remote control can control the LEDs on the STM32F4Discovery board. The course explains the necessary system configuration steps to enable the specific system peripherals and select their operation modes. The GPIO, an external interrupt and a timer compare mode are described in detail. These peripherals are the essential part of the NEC protocol decoder, which is the core part of the course.
The beginning of the course contains an explanation of how to install the GNU ARM toolchain for code compilation and the ST-LINK programmer for flashing the STM32F4Discovery board. There is a brief overview of the Discovery board as well.
By the end of the course, you will become familiar with the STM32 GPIO, the reset and clock control unit, external interrupts, timers and the NVIC. The important peripheral registers and their bits will be considered as well.
The NEC decoding firmware will be tested on the STM32F4Discovery board to prove that everything works as expected.
Tymofii Chashurin
Driven by interest and willingness to learn different technologies, I derive great pleasure from inspiring people to become self-driven in the achievements of their own goals.
I started to learn embedded systems in 2009, and now I can confidently say that I have more than 10+ years of embedded systems development experience and a deep practical understanding of how they work. I derive great pleasure from implementing the low-level logic on resource-constrained devices.
I have a master's degree with distinction in Computer and Systems Engineering from Tallinn University of Technology in Estonia. My master's thesis topic was "Generic Synthesizable Floating-Point Unit".