Jump to content

Component: ADC Template (Analog Input)

From Flowcode Help
Revision as of 14:36, 13 July 2026 by SteveT (talk | contribs) (Text replacement - "style="background-color:#EAE1EA; color:#4B008D;"" to "class="mtx-class-propfolder"")
Author Matrix Ltd
Version 1.3
Category Analog Input


ADC Template component

Base ADC component with no graphical interface. Contains all of the embedded side component calls to provide an ADC interface suitable for wrapping with a new ADC style component.

Detailed description

No detailed description exists yet for this component

Examples

Read a 8-bit Byte

Simple ADC example allowing analogue values to be read on ADC inputs AN0 and AN1 as a byte, these are then displayed on the LCD connected to PortB as a number ranging from 0-255 representing 0V to VCC.

ADCByte


Read a 10-bit or 12-bit sample

Simple ADC example allowing analogue values to be read on ADC inputs AN0 and AN1 as a 10 or 12-bit value depending on the target microcontroller, these are then displayed on the LCD connected to PortB as a number ranging from 0-1023 or 0-4095 representing 0V to VCC.

ADCInt


Reading a sample as a Voltage

Simple ADC example allowing analogue Voltages to be read on ADC inputs AN0 and AN1, these are then displayed on the LCD connected to PortB in Volts from 0.0V-VCC. The VRef Voltage property needs to be correct for the Voltage to be calculated correctly.

ADCVoltage


Filtering ADC Inputs

Simple example which uses a filtering technique to provide a digital low pass filter on the ADC readings. The output of the filter is 50% the ADC reading and 50% the previous reading.

LPFilter

In this example the output of the filter is 25% the ADC reading and 75% the previous reading.

LPFilter2


Analogue Inputs Window

The Analogue inputs window available from the View menu allows you to see the values for all of the analogue inputs which are active in your program. They can also be manually altered by dragging the mouse along one of the sliders.


Chip Diagram

Active analogue inputs are highlighted in yellow on the chip diagram.


Scope Window

An ADC based component will automatically add a trace to the data recorder window allowing you to get a view of the analogue data over time during simulation.

Based on the Scope Traces component property.






Macro reference

GetAverageByte

GetAverageByte
Function call to read the ADC as a byte average sample over time  
- BYTE NumSamples
 
- BYTE DelayUs
Number of micro seconds in between taking each sample 
- BYTE Return


GetAverageInt

GetAverageInt
Function call to read the ADC as a full width average sample over time  
- BYTE NumSamples
 
- BYTE DelayUs
Number of micro seconds in between taking each sample 
- UINT Return


GetByte

GetByte
Blocking call to read the ADC as a byte  
- BYTE Return


GetInt

GetInt
Blocking call to read the ADC at full bit depth  
- UINT Return


GetString

GetString
Reads the ADC as a direct voltage and returns as a string 
- STRING Return


GetVoltage

GetVoltage
Reads the ADC as a direct voltage 
- FLOAT Return


Property reference

Properties
Connections
Channel
Analogue Input Channel - Which pin is the analogue input connected to? 
Settings
VRef voltage
Used by the GetVoltage or GetString component macros to take an ADC reading and convert it into a Voltage. +VRef voltage x 10mV Default 500 = 5.0V  
VRef option
Defines what is used as the ADC maximum reference. ADC Range = GND to VRef Voltage VDD - Defines the microcontrollers power supply pin as the max reference, VREF+ Pin - Dedicated pin on the microcontroller to allow for a variable reference voltage. 
Conversion speed
Clock setting to select how fast the ADC peripheral will perform an ADC conversion. The FRC setting is based on a RC time base and so will vary with temperature and pressure. Other settings are generally based on divisions of the master clock. 
Acquisition cycles
Number of micro seconds to wait for the ADC input to charge before starting the analogue sample. 
Bit Depth
Maximum number of digital bits the ADC can sample. 8 bit = ADC range 0 - 255 10 bit = ADC range 0 - 1023 12 bit = ADC range 0 - 4095 
Simulation
Scope Traces
Selects if the scope traces are automatically generated or not 

Component Source Code

Please click here to download the component source project: FC_Comp_Source_adc_Base.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_adc_Base.fcfx