Programming 32-bit Microcontrollers in C: Exploring the PIC32 by Lucio Di Jasio

This textbook is well organized, with each chapter building on the last one.