Basic set up of the Explorer16 board
Includes: Explore.c and Explore.h
This small module offers a few simple functions to initialize the PIC32 for high performance execution, configures PORTA to control the entire row of LEDs (after disabling the JTAG option, unless the PIC32 Starter Kit is used), instantaneously read the 4 buttons status, debounce the 4 buttons, produce exact delays (using Timer1) in millisecond increments.
Controlling the LCD on the Explorer16 board
This small module offers a few simple functions to control the LCD display offered on the Explorer 16 board (2 x16 alphanumeric) using the Parallel Master Port
Using the EEPROM on the Explorer16 board (25LC256)
This small module offers a few simple functions to control access via the SPI2 port the Serial EEPROM (25LC256) available on the Explorer 16 board.
Note: the code presents the Serial EEPROM as a black box offering storage in 32-bit increments.
Using the PICTail Daughter Board for SD/MMC (AC164122)
When using Microchip original PICTail Daughter Board for SD/MMC cards a few pins need to be reassigned to acomodate for the different I/O selection. Things are a little more complex when using a PIC32MX4 series Processor Module on the Explorer16 as some of the pins are further swapped to free up the I/Os multiplexed with the USB port pins.
Here is a convenient summary table kindly offered by reader Rald Anders:
| FUNCTION | PIC32MX3xx SPI1/SPI2 | PIC32MX4xx SPI1/SPI2 |
| SCK | RF6 / RG6 | RD10 / RG6 |
| SDI | RF7 / RG7 | RC4 / RG7 |
| SDO | RF8 / RG8 | RD0 / RG8 |
| CS | RB1 / RB9 | RB1 / RB9 |
| CD | RF0 / RG0 | RF0 / NA |
| WD | RF1 / RG1 | RF1 / NA |
NOTE: When using the PIC32MX4 series on the Explorer16 board, the SPI2 port cannot be chosen or the code must be modified to ignore the CD and WD inputs.
Reading and writing Files on the SD card
SDlib.zip Includes SDMMC.h, fileio.h, SDMMC.c and fileio.c