Skip to main content Skip to local navigation
Home » Category: 'c' (Page 3)

c

Microcontroller Interrupts and C++

As part of my examination of C++ programming on microcontrollers, I've run into an issue with implementing Interrupt Service Routines on the LPC804 and LPC802 microcontrollers.  These micros are based on the ARM Cortex M0+ core, are small, solderable and suitable for teaching and project development with undergraduate engineering and computer science students.  I'm looking […]

Testing the LPC804 Microcontroller

Here's a simple program, written for the LPC802 or LPC804 microcontroller, using MCUXpresso 11.0, the ISO C11 compiler and the latest LPC802 (OM40000) or LPC804 (OM400001) SDK from NXP. I started a project using MCUXPresso and the SDK, then erased the contents of the main .c file it produced, replacing it with the following: The […]

C++ on Microcontrollers, Babysteps

Having watched some of Kate Gregory's tutorials on Pluralsight, I decided to start trying some aspects of C++ on very small microcontrollers.  They're physically small (only about 2cm across) and also small in terms of memory (2kB - 4kB of RAM; 16kB - 32kB of Flash). Two problems were immediately encountered: nothing with the iostream […]

Sabbatical Report: Teaching a compressed class in Germany

While I was on sabbatical from York University I had the opportunity to teach twice at the University of Applied Sciences in Karlsruhe, Germany (Hochschule Karlsruhe, a.k.a HsKa).  I had been invited to do so by Professor Klemens Gintner, a colleague and friend who I had hosted during his sabbatical in Toronto in 2015. It […]

Sabbatical Report: Updating Microcontrollers

As part of my sabbatical activities I took on the "Temps Pratiques" microcontroller laboratory sessions for electrical engineering and mechatronics students at INSA Strasbourg.  In pre-sabbatical discussions with faculty and staff at INSA Strasbourg I found out that the students were learning using what I considered to be outdated technologies.  The PIC16F84A microcontroller chip used […]

Sabbatical Report: Writing a Textbook & Getting a Book Deal

While on sabbatical I started getting serious about writing a book.  In spite of having wanted to write a book for years, writing one while on sabbatical wasn't my primary goal.  But as visa issues in France became more difficult and made more traditional research work harder the book writing became a bigger focus for […]

Embedded Systems Spring Course in Karlsruhe, Germany

During my sabbatical from York University, I taught IP 411 "Embedded Systems for Engineering Applications” class at Hochschule Karlsruhe (HsKA) in April and May, 2019.  This page is an update to the Fall 2018 version of the course that I also taught at HsKA.  The Spring version of the course take place over six days: […]

Microcontroller Labs (TP) at INSA Strasbourg

On this page you will find the documents for the "TP" (Practical Time) lab that I instructed at the INSA Strasbourg Engineering School in Strasbourg, France while I was on sabbatical from York University.  Links to videos and other material are included in the PDFs.  The lab uses the Microchip Curiosity board, with built-in debugger […]

Getting Started with the Adafruit Metro M0 Express

I bought the Adafruit Metro M0 Express because it has both a debugger port soldered on and has a SAMD21 chip on it.  While it has a bootloader and CircuitPython on it, I'm actually only interested in using it as a potentially student-friendly development platform for learning C / C++ on the Cortex M0+. I […]

Interrupts, Bit Clearing and Setting in XC8

While testing out the PIC16F88 replacement for the PIC16F84 on the INSA microcontroller teaching board I ran into issues with two things not working as per the standard sources of examples (e.g. Microchip's Developer Wiki): Interrupt Service Routines Bit setting, clearing via structures These examples appear to have been written for versions of XC8 prior […]