http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd
Embedded computing and mechatronics with the PIC32 microcontroller
Annotation For the first time in a single reference, this book provides the beginner with a coherent and logical introduction to the hardware and software of the PIC32, bringing together key material from the PIC32 Reference Manual, Data Sheets, XC32 C Compiler User's Guide, Assembler and Linker Guide, MIPS32 CPU manuals, and Harmony documentation. This book also trains you to use the Microchip documentation, allowing better life-long learning of the PIC32. The philosophy is to get you started quickly, but to emphasize fundamentals and to eliminate "magic steps" that prevent a deep understanding of how the software you write connects to the hardware. Applications focus on mechatronics: microcontroller-controlled electromechanical systems incorporating sensors and actuators. To support a learn-by-doing approach, you can follow the examples throughout the book using the sample code and your PIC32 development board. The exercises at the end of each chapter help you put your new skills to practice. Coverage includes: A practical introduction to the C programming languageGetting up and running quickly with the PIC32An exploration of the hardware architecture of the PIC32 and differences among PIC32 familiesFundamentals of embedded computing with the PIC32, including the build process, time- and memory-efficient programming, and interruptsA peripheral reference, with extensive sample code covering digital input and output, counter/timers, PWM, analog input, input capture, watchdog timer, and communication by the parallel master port, SPI, I2C, CAN, USB, and UARTAn introduction to the Microchip Harmony programming frameworkEssential topics in mechatronics, including interfacing sensors to the PIC32, digital signal processing, theory of operation and control of brushed DC motors, motor sizing and gearing, and other actuators such as stepper motors, RC servos, and brushless DC motors For more information on the book, and to download free sample code, please visit http://www.nu32.org Extensive, freely downloadable sample code for the NU32 development board incorporating the PIC32MX795F512H microcontrollerFree online instructional videos to support many of the chapters
Front Cover; Embedded Computing and Mechatronics with the PIC32 Microcontroller; Copyright; Dedication; Figure Credits; Contents; Preface; Contents; Choices made in this book; The NU32 development board; How to use this book in a course; Website, videos, and flipped classrooms; Other PIC32 references; Acknowledgments; Part I: Quickstart; Chapter 1: Quickstart; 1.1 What You Need; 1.1.1 Hardware; 1.1.2 Software; 1.2 Compiling the Bootloader Utility; 1.3 Compiling Your First Program; 1.4 Loading Your First Program; 1.5 Using make; 1.6 Chapter Summary; Further Reading; Part II: Fundamentals.
Chapter 2: Hardware2.1 The PIC32; 2.1.1 Pins, Peripherals, and Special Function Registers (SFRs); 2.1.2 PIC32 Architecture; Peripherals; Digital input and output; Universal Serial Bus; Controller area network; Ethernet; DMA controller; In-Circuit Debugger; Watchdog timer; Change notification; Counter/timers; Output compare; Input capture; Serial Peripheral Interface; Inter-integrated circuit; Parallel master port; Analog input; Universal asynchronous receiver/transmitter; Real-time clock and calendar; Comparators; Other components; CPU; Bus matrix; Interrupt controller.
Memory: Program flash and data RAMPrefetch cache module; Clocks and timing generation; 2.1.3 The Physical Memory Map; 2.1.4 Configuration Bits; 2.2 The NU32 Development Board; 2.3 Chapter Summary; 2.4 Exercises; Further Reading; Chapter 3: Software; 3.1 The Virtual Memory Map; 3.2 An Example: simplePIC.c; 3.3 What Happens When You Build?; 3.4 What Happens When You Reset the PIC32?; 3.5 Understanding simplePIC.c; Special function registers (SFRs); Pins RF0, RF1, and RD7 on the NU32; CLR, SET, and INV SFRs; 3.5.1 Down the Rabbit Hole; 3.5.2 The Header File p32mx795f512h.h.
3.5.3 Other Microchip Software: Harmony3.5.4 The NU32bootloaded.ld Linker Script; 3.6 Bootloaded Programs vs. Standalone Programs; 3.7 Build Summary; 3.8 Useful Command Line Utilities; 3.9 Chapter Summary; 3.10 Exercises; Further Reading; Chapter 4: Using Libraries; 4.1 Talking PIC; 4.2 The NU32 Library; 4.3 Bootloaded Programs; 4.4 An LCD Library; 4.5 Microchip Libraries; 4.6 Your Libraries; 4.7 Chapter Summary; 4.8 Exercises; Further Reading; Chapter 5: Time and Space; 5.1 Compiler Optimization; 5.2 Time and the Disassembly File; 5.2.1 Timing Using a Stopwatch (or an Oscilloscope).
5.2.2 Timing Using the Core Timer5.2.3 Disassembling Your Code; 5.2.4 The Prefetch Cache Module; 5.2.5 Math; 5.3 Space and the Map File; 5.4 Chapter Summary; 5.5 Exercises; Further Reading; Chapter 6: Interrupts; 6.1 Overview; 6.2 Details; The shadow register set; External interrupt inputs; Special Function Registers; 6.3 Steps to Configure and Use an Interrupt; 6.4 Sample Code; 6.4.1 Core Timer Interrupt; 6.4.2 External Interrupt; 6.4.3 Speedup Due to the Shadow Register Set; 6.4.4 Sharing Variables with ISRs; (1) Using the type qualifier volatile; (2) Enabling and disabling interrupts.
Kevin M. Lynch, Nicholas Marchuk, Matthew L. Elwin.