adc23  2.1.0.0
Main Page

ADC 23 Click

ADC 23 Click is a compact add-on board that converts an analog voltage into a digital representation. This board features the ADS127L11, a wide-bandwidth 24-bit delta-sigma analog-to-digital converter from Texas Instruments. It is capable of data rates up to 400ksps using a wideband filter and up to 1067ksps using a low-latency filter. It also offers an excellent combination of AC performance and DC precision with low power consumption.

Click Product page


Click library

  • Author : Nenad Filipovic
  • Date : Aug 2023.
  • Type : SPI type

Software Support

We provide a library for the ADC 23 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

This library contains API for ADC 23 Click driver.

Standard key functions :

Example key functions :

Example Description

This example demonstrates the use of the ADC 23 Click boardâ„¢ by reading and writing data by using SPI serial interface and reading results of AD conversion.

The demo application is composed of two sections :

Application Init

Initialization of SPI module and log UART. After driver initialization, the app executes a default configuration.

void application_init ( void )
{
log_cfg_t log_cfg;
adc23_cfg_t adc23_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
adc23_cfg_setup( &adc23_cfg );
ADC23_MAP_MIKROBUS( adc23_cfg, MIKROBUS_1 );
if ( SPI_MASTER_ERROR == adc23_init( &adc23, &adc23_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( ADC23_ERROR == adc23_default_cfg ( &adc23 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
Delay_ms ( 100 );
}

Application Task

The demo application reads the voltage levels from analog input and displays the results. Results are being sent to the UART Terminal, where you can track their changes.

void application_task ( void )
{
static float voltage = 0.0;
if ( ADC23_OK == adc23_get_voltage( &adc23, &voltage ) )
{
log_printf( &logger, " Voltage : %.2f [mV]\r\n", voltage );
Delay_ms ( 1000 );
}
}

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.ADC23

Additional notes and informations

Depending on the development board you are using, you may need USB UART Click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.


adc23_init
err_t adc23_init(adc23_t *ctx, adc23_cfg_t *cfg)
ADC 23 initialization function.
adc23_read_conversion_data
err_t adc23_read_conversion_data(adc23_t *ctx, int32_t *adc_data)
ADC 23 read conversion data function.
adc23_start_conversion
err_t adc23_start_conversion(adc23_t *ctx)
ADC 23 start conversion function.
application_task
void application_task(void)
Definition: main.c:67
adc23_cfg_setup
void adc23_cfg_setup(adc23_cfg_t *cfg)
ADC 23 configuration object setup function.
adc23_default_cfg
err_t adc23_default_cfg(adc23_t *ctx)
ADC 23 default configuration function.
adc23_t
ADC 23 Click context object.
Definition: adc23.h:189
adc23_cfg_t
ADC 23 Click configuration object.
Definition: adc23.h:211
ADC23_ERROR
@ ADC23_ERROR
Definition: adc23.h:239
application_init
void application_init(void)
Definition: main.c:30
ADC23_OK
@ ADC23_OK
Definition: adc23.h:238
adc23_get_voltage
err_t adc23_get_voltage(adc23_t *ctx, float *voltage)
ADC 23 read get voltage level function.
ADC23_MAP_MIKROBUS
#define ADC23_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: adc23.h:172