This example project uses the ADC in the PIC32 to convert an analog voltage to digital, and display the magnitude of the result on the four LEDs found on the Digilent chipKITTM Wi-FIRE development board.
The MPLAB® Harmony ADC Driver and Peripheral Libraries are used to achieve this. You will use the MPLAB® Harmony Configurator (MHC) to configure the ADC Driver to generate an interrupt after acquiring a sample. The interrupt service routine reads the result from the ADC results buffer. It also sets the "dataReady" flag indicating it's time to update the LEDs with the new ADC result.
The code you add to this example project (as described in the following steps) implements the state machine shown in the diagram below.
The "Project and Source Files" download (see below) contains a fully functional project. It can be used as an example and requires no modifications. To gain a deeper understanding of how to use the MPLAB® Harmony framework, we recommend you generate the project and source files yourself by following the step-by-step procedure below.
|Tool|| About|| Purchase|
This project has been verified to work with the following versions of software tools:
MPLAB® X IDE v3.30, MPLAB® XC32 Compiler v1.40, MPLAB® Harmony v1.08
Because we regularly update our tools, occasionally you may discover an issue while using newer versions. If you suspect that to be the case, we recommend that you double check using the same versions that the project was tested with.
Archived versions of our tools can be found on the following Microchip websites:
MPLAB Harmony (see "Archived Downloads" tab)
MPLAB X IDE and XC32 Compiler (see "Downloads Archive" tab)
Note that multiple versions of all these tools can co-exist on the same computer.
| Windows|| Linux|| Mac OSX|
Integrated Development Environment
MPLAB® Harmony 1.xx
Integrated Software Framework
The contents of the following .zip file need to be placed in this directory. If this is not done, the MPLAB® X IDE will not be able to find all source files, and the project will not build successfully.
<Harmony install path>/apps/training
(example Harmony install path = c:/microchip/harmony/v1_08)
| Windows|| Linux|| Mac OSX|
Project and Source Files
The "Project and Source Files" download provides a fully functional project. It can be used as an example and requires no modifications. The following steps below provide instruction on how this project was created.
Create a new MPLAB® Harmony project
The Target Device used on the chipKIT™ Wi-FIRE is the PIC32MZ2048EFG100.
Use the BSP to load appropriate default values for the PIC32 core, clocks, and I/O port pins.
Use MHC to enable and configure the ADC Driver
Use MHC to enable and configure the Timer Driver
Use MHC to generate the code
Add application states and variables to your project in app.h
Add code to the ADC Interrupt Service Routine.
Create the function to display the newest ADC result on the LEDs.
Initialize the dataReady flag to false in the application initialization function.
Create the APP_Tasks() function to implement the application's state machine.
Connect the development board and programmer/debugger to your computer, then select the XC32 compiler version and programmer/debugger for the project
Build, program and run your projectClick the "Run" icon to build, program and run your project.
After successfully programming the device, at least one LED will turn on. Turning the POT all the way to the left will light a single LED. As you turn the POT to the right, more LEDs will turn on (similar to a volume indicator).
This example project demonstrates much more than configuring, monitoring, and controlling the PIC32 ADC. You've also learned the basic program architecture common to all MPLAB Harmony projects.