Programming 32-bit Microcontrollers in C: Exploring the PIC32