C++ on microcontrollers 4 – input pins, and decoding a rotary switch
Wouter van Ooijen shows how to extend a small C++ I/O library for microcontrollers to support input pins and mixed I/O, and how to decode a rotary switch reliably. The post walks through a safe class hierarchy for input, output, and bidirectional pins, then builds a quadrature decoder with a saturating counter and an HC595 seven-segment demo you can run on LPCXpresso hardware.
C++ on microcontrollers 3 – a first shot at an hc595 class with 8 output pins
A simple HC595 wrapper turns into a nice C++ lesson in how to build reusable I/O abstractions for microcontrollers. Wouter van Ooijen shows how to expose all eight shift-register outputs as regular output pin objects, then generalizes the same pattern to MCU ports and even daisy-chained HC595 chips. Along the way, he runs into a classic class dependency problem and resolves it with forward declarations and out-of-class method definitions.
C++ on microcontrollers 2 - LPCXpresso, LPC-link, Code Sourcery, lpc21isp, linkerscript, LPC1114 startup
Wouter van Ooijen walks you through getting C++ to run on a tiny LPC1114 board using LPCXpresso hardware and a command-line toolchain. He demonstrates a minimal linker script and startup code that initialize .data and .bss and call C++ global constructors, shows how to flash via the on-chip bootloader with lpc21isp when LPC-link is locked, and includes practical GPIO and SysTick LED examples.
C++ on microcontrollers 1 - introduction, and an output pin class
Wouter van Ooijen shows how small C++ abstractions make GPIO code portable and reusable. Starting from a simple output_pin interface he implements concrete pins for an LPC2148 GPIO and a 74HC595 shift register, then composes behaviors with wrappers like tee and invert. The post demonstrates virtual methods, references, and constructor initialization lists to build drivers you can reuse across boards.
C++ on microcontrollers 1 - introduction, and an output pin class
Wouter van Ooijen shows how small C++ abstractions make GPIO code portable and reusable. Starting from a simple output_pin interface he implements concrete pins for an LPC2148 GPIO and a 74HC595 shift register, then composes behaviors with wrappers like tee and invert. The post demonstrates virtual methods, references, and constructor initialization lists to build drivers you can reuse across boards.
C++ on microcontrollers 2 - LPCXpresso, LPC-link, Code Sourcery, lpc21isp, linkerscript, LPC1114 startup
Wouter van Ooijen walks you through getting C++ to run on a tiny LPC1114 board using LPCXpresso hardware and a command-line toolchain. He demonstrates a minimal linker script and startup code that initialize .data and .bss and call C++ global constructors, shows how to flash via the on-chip bootloader with lpc21isp when LPC-link is locked, and includes practical GPIO and SysTick LED examples.
C++ on microcontrollers 4 – input pins, and decoding a rotary switch
Wouter van Ooijen shows how to extend a small C++ I/O library for microcontrollers to support input pins and mixed I/O, and how to decode a rotary switch reliably. The post walks through a safe class hierarchy for input, output, and bidirectional pins, then builds a quadrature decoder with a saturating counter and an HC595 seven-segment demo you can run on LPCXpresso hardware.
C++ on microcontrollers 3 – a first shot at an hc595 class with 8 output pins
A simple HC595 wrapper turns into a nice C++ lesson in how to build reusable I/O abstractions for microcontrollers. Wouter van Ooijen shows how to expose all eight shift-register outputs as regular output pin objects, then generalizes the same pattern to MCU ports and even daisy-chained HC595 chips. Along the way, he runs into a classic class dependency problem and resolves it with forward declarations and out-of-class method definitions.
C++ on microcontrollers 1 - introduction, and an output pin class
Wouter van Ooijen shows how small C++ abstractions make GPIO code portable and reusable. Starting from a simple output_pin interface he implements concrete pins for an LPC2148 GPIO and a 74HC595 shift register, then composes behaviors with wrappers like tee and invert. The post demonstrates virtual methods, references, and constructor initialization lists to build drivers you can reuse across boards.
C++ on microcontrollers 2 - LPCXpresso, LPC-link, Code Sourcery, lpc21isp, linkerscript, LPC1114 startup
Wouter van Ooijen walks you through getting C++ to run on a tiny LPC1114 board using LPCXpresso hardware and a command-line toolchain. He demonstrates a minimal linker script and startup code that initialize .data and .bss and call C++ global constructors, shows how to flash via the on-chip bootloader with lpc21isp when LPC-link is locked, and includes practical GPIO and SysTick LED examples.
C++ on microcontrollers 4 – input pins, and decoding a rotary switch
Wouter van Ooijen shows how to extend a small C++ I/O library for microcontrollers to support input pins and mixed I/O, and how to decode a rotary switch reliably. The post walks through a safe class hierarchy for input, output, and bidirectional pins, then builds a quadrature decoder with a saturating counter and an HC595 seven-segment demo you can run on LPCXpresso hardware.
C++ on microcontrollers 3 – a first shot at an hc595 class with 8 output pins
A simple HC595 wrapper turns into a nice C++ lesson in how to build reusable I/O abstractions for microcontrollers. Wouter van Ooijen shows how to expose all eight shift-register outputs as regular output pin objects, then generalizes the same pattern to MCU ports and even daisy-chained HC595 chips. Along the way, he runs into a classic class dependency problem and resolves it with forward declarations and out-of-class method definitions.







