The ADC Data Streamer PWM example, of the MCC Melody ADCC Example Component, is used in the Callbacks implementation and displays ADCC samples visualized with the Data Streamer. An Analog-to-Digital Conversion measurement is taken every 100 ms on the selected analog channel, also toggling an LED and Debug GPIO.
A PWM1_16BIT component is added to this example. For more information, check out the "PIC® PWM Use Case: Gradually Brightening LED" use case from the How to Use the PWMx_16BIT PLIB Driver section in MCC Melody API reference for PIC16F/18F. It shows how adjusting the potentiometer influences the brightness of the PWM, which is mapped to a % of the range of the ADC value.
So, as the pot meter is adjusted, the brightness of the PWM is adjusted, mapped to a % of the range of the ADC value.
Video: Introducing MCC Melody Example Components (while building the Polled version of the Timer Toggle LED example).
Example Components are a tight integration of learning material directly into MCC. This allows users to conveniently place configuration instructions side-by-side to the components they are configuring. For more information, refer to the MCC Melody Example Components Introduction.
Note: The image below shows the completed configuration of the ADCC Data Streamer Example (Callbacks implementation), to which a PWM1_16BIT component has been added.
Complete projects, available in MPLAB® Discover or GitHub, are specific to a board and microcontroller. However, the current project could be recreated on a range of supported microcontrollers by following the steps in the example component.
To explore what an example component is, as well as the difference between example and implementation, see MCC Melody Example Components - The Basics.
Example Components are related to MCC Melody Design Patterns for Control Flow, which shows different standard ways to organize main.c
and other application-level files, such as Polling, Interrupt and Callback, or State Machine Design Patterns. Users might be familiar with each of these patterns, but...
- What support does MCC Melody provide for each?
- What are the recommended ways of building on the MCC Melody generated code?
-
MPLAB® X IDE 6.20.0 or newer (MPLAB® X IDE 6.20)
-
MPLAB® XC8 2.46.0 or newer (MPLAB® XC8 2.46)
-
MPLAB® Code Configurator (MCC) Plugin Version 5.5.1 or newer (Tools>Plugins>Installed, search: "MCC")
-
ADC Converter with Computation (ADCC) Example Component 1.0.0 or newer
-
MCC Core 5.7.1 or newer
-
MCC Melody Core 2.7.1 or newer (Communicates with the MCC core, providing views and other functionality for MCC Melody)
- PIC18F57Q43 Curiosity Nano (DM164150)
- Curiosity Nano Explorer (EV58G97A)
The instructions required to recreate this example are listed below, under Configuration Instructions.
The following additional steps are required for this example.
Note: The timer period is changed to 0.02s, i.e., 20 ms.
The Pins configuration are shown below:
The image below shows the ADCC Basic Printf example running, using the MPLAB Data Visualizer.
After implementing the settings, similar results to the below image will be shown.
The image below shows the example running on the Curiosity Nano Explorer board.
- Click the icon to open the MPLAB Data Visualizer.
- Under the Variable Streamers tab (on the left hand side), click the button to import a .ds file.
- From your project root, navigate into
mmc_generated_files/data_streamer/
directory. - Click the
data_streamer.ds
file to select it. - Then click the button, to load the
ds
file.
The data_streamer Properties window will open up, displaying the loaded adcResult and adcSampleCount variables.
-
Select your board from those available.
Note: If your board is not recognised by the MPLAB Data Visualizer, go to the Device Manager (Windows) to determine the COMx number.
-
Set the baud rate to 115200, then click out of the window to close the settings.
For more example components, open the stand-alone Content Manager in MCC.