Download all the book projects in the new MPLAB X format in a Github public repository available at: https://github.com/luciodj/ExploringPIC32
Searching for a Pin in a Haystack
The PIC32MX3xx pinout table: PIC32MX3+pinout
This spreadsheet will help you find the right pin for your applications and identify any conflict early on.
Basic set up of the Explorer16 board
Explore.zip 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
LCDlib.zip Includes: LCD.h and LCDlib.c
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)
SEE.zip Includes: SEE.h and SEE.c
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:
|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.
PICTail+SDMMC.zip Includes SDMMC.h and SDMMC.c
Reading and writing Files on the SD card
SDlib.zip Includes SDMMC.h, fileio.h, SDMMC.c and fileio.c