MPLAB® Harmony v3 Peripheral Libraries on PIC32MX 470: Step 6

Last modified by Microchip on 2023/11/09 09:09

Build, Program and Observe the Outputs

Verify that the temperature sensor, the MikroElectronika Weather Click board™ is connected to MikroBUS™ 1 on the PIC32MX470 Curiosity Development Board.

MikroElectronika Weather click board is connected to MikroBUS™ 1 on the PIC32MX470 Curiosity Development Board

Verify that the USB UART click board, MikroElectronika USB UART Click board, is connected to MikroBUS 2 on the PIC32MX470 Curiosity Development Board.

USB UART click board, is connected to MikroBUS 2 on the PIC32MX470 Curiosity Development Board

Connect the Type-A male to mini-B USB cable to mini-B DEBUG USB port on USB UART click board to PC. This will act as a serial port.

Type-A male to mini-B USB cable to mini-B DEBUG USB port on USB UART click board to PC

The Curiosity PIC32MX470 Development Board allows the usage of PICkit™ On Board (PKOB) for debugging. Connect the Type-A male to mini-B USB cable to mini-B DEBUG USB port to power and debug the PIC32MX470 Curiosity Development Board.

Type-A male to mini-B USB cable to mini-B DEBUG USB port to power and debug the PIC32MX470 Curiosity Development Board

Go to File > Project Properties. Verify that the PKOB 4 is selected as the debugger under the Hardware Tools and that XC32 (v4.30) is selected as the Compiler Toolchain for XC32.

File

Clean and build your application by clicking on the Clean and Build button as shown.

Clean and Build button

Program your application to the device, by clicking on the Make and Program button as shown.

Make and Program button

The lab should build and program successfully.

Note: Once program is downloaded, do a power cycle on the device by removing and then pluggin back oth the USB cables.

Now, open the Tera Term terminal application on your PC (from the Windows® Start menu by pressing the Start button). Select the Serial Port as shown.

Tera Term terminal

Follow Setup > Serial port… and change the speed to 115200.

Setup
Setup

You should see the temperature values (in °F) being displayed on the terminal every 500 milliseconds, as shown.

Temperature values (in °F)

Also, notice the LED1 blinking at 500 millisecond rate.

You may vary the temperature by placing your finger on the temperature sensor (for a few seconds).

Temperature sensor

Press the switch S1 on PIC32MX470 Curiosity Development Board to change the default sampling rate to one second.

User button

Temperature values (in °F)

Every subsequent pressing of switch S1 on PIC32MX470 Curiosity Development Board changes the default sampling rate to 2 seconds, 4 seconds, and 500 ms and back to 1 second in a cyclic order.

Temperature values (in °F)

While the temperature sampling rate changes on every S1 switch press, notice the LED1 toggling at the same sampling rate.

Back to Top

Results

You observed that the application displayed the current room temperature values on the serial terminal every 500 milliseconds. You were able to change the temperature sampling values dynamically by pressing a user switch on the development kit. You could exercise sampling changes to 1 second, 2 seconds, 4 seconds, and cycle back to 500 milliseconds every time you pressed the user switch. You also observed that a user LED was toggled every time the current temperature is displayed on the serial terminal.

Back to Top

Analysis

You have successfully created your first application using MPLAB® Harmony v3 on the PIC32MX470 microcontroller. Your application used all the fundamental elements that go into building a real-time application. Your application successfully read temperature sensor values and displayed them periodically over a serial terminal on a PC. The application also took user input by pressing a switch on the development board.

In this application, you used MPLAB® Code Configurator (MCC) to configure PIC32MX470 and to use the MPLAB Harmony v3 Framework. You used the clock configurator to set up the CPU clock and timer (Timer1) clock. You configured I²C1, UART2, TMR2, CORETIMER, and GPIO peripheral libraries. You also configured Direct Memory Access (DMA) using the DMA configurator. You used the pin configurator to set up the pins for LED and switch functions.

Back to Top

Conclusions

This tutorial provided you training on configuring and using all the fundamental components needed to build a real-time application on a PIC32MX470 microcontroller with MPLAB Harmony v3 Framework. As a next step, you may customize this application and reconfigure some of the components used in this tutorial. You could also add new components (PLIBs, etc) to enhance this application to realize your end application.

Back to Top