In my Hardware/Software Interfacing class, I practiced embedded system configuration and programming using the C programming language. I was able to work with both a Cerebot robot and Mikromedia LCD touch display that both contained the PIC32 processor built by Microchip. In this class, we explored the functions and operation of microcontroller components such as system clocks, peripherals, data buses, control registers, flash memory, cache memory, and much more. We also practiced basic embedded system concepts including interrupt service routines, state machines, and communication to other devices through both synchronized and unsynchronized connections.
With the Cerebot robot, I wrote programs that operated the motors to drive the bot as well as a standalone interactive Simon Says game.
The next piece of hardware I got to play with was the Mikromedia LCD touch screen. This little guy ran on the PIC32 processor allowing users to display full images and intercept touch events using a resistive touch screen. Using the Mikromedia my partner and I develop one program to display original and manipulated images based on user touch input. The second program was an interactive game of tic-tac-toe utilizing user input through a USB mouse.