HAL  v0.6.1
Hardware Abstraction Layer
Loading...
Searching...
No Matches
ADC

Analog-to-Digital Converter. More...

Collaboration diagram for ADC:

Data Structures

struct  adc_channel_attr_t
 

Enumerations

enum  adc_result_t {
  ADC_RESULT_OK ,
  ADC_RESULT_INVALID ,
  ADC_RESULT_UNSUPPORTED ,
  ADC_RESULT_OVERRUN ,
  ADC_RESULT_OVERFLOW ,
  ADC_RESULT_ERR ,
  TOTAL_ADC_RESULT
}
 
enum  adc_mode_t {
  ADC_MODE_SINGLE_ENDED ,
  ADC_MODE_DIFFERENTIAL ,
  TOTAL_ADC_MODE
}
 
enum  adc_conv_egde_t {
  ADC_CONV_EDGE_FALLING ,
  ADC_CONV_EDGE_RISING ,
  TOTAL_ADC_CONV_EDGE
}
 
enum  adc_conv_int_t {
  ADC_CONV_INTERRUPT_EVERY_CONV ,
  ADC_CONV_INTERRUPT_EVERY_SEQUENCE ,
  TOTAL_ADC_CONV_INTERRUPT
}
 
enum  adc_clock_mode_t {
  ADC_CLOCK_MODE_SYNCHRONOUS ,
  ADC_CLOCK_MODE_ASYNCHRONOUS ,
  TOTAL_ADC_CLOCK_MODE
}
 
enum  adc_resolution_t {
  ADC_RESOLUTION_6_BITS ,
  ADC_RESOLUTION_8_BITS ,
  ADC_RESOLUTION_10_BITS ,
  ADC_RESOLUTION_12_BITS ,
  ADC_RESOLUTION_16_BITS ,
  ADC_RESOLUTION_24_BITS ,
  TOTAL_ADC_RESOLUTION
}
 

Functions

adc_result_t hal_adc_init (const adc_channel_attr_t attr)
 Configure ADC channel.
 
adc_result_t hal_adc_calibrate (const float vref)
 Calibrate ADC reference voltage.
 
uint32_t hal_adc_read (const gpio_pin_t pin)
 Read ADC pin value.
 
float hal_adc_read_volt (const gpio_pin_t pin)
 Read ADC pin voltage.
 

Detailed Description

Analog-to-Digital Converter.

Enumeration Type Documentation

◆ adc_clock_mode_t

#include <adc/public_inc/hal_adc.h>

Enumerator
ADC_CLOCK_MODE_SYNCHRONOUS 
ADC_CLOCK_MODE_ASYNCHRONOUS 
TOTAL_ADC_CLOCK_MODE 

◆ adc_conv_egde_t

#include <adc/public_inc/hal_adc.h>

Enumerator
ADC_CONV_EDGE_FALLING 
ADC_CONV_EDGE_RISING 
TOTAL_ADC_CONV_EDGE 

◆ adc_conv_int_t

#include <adc/public_inc/hal_adc.h>

Enumerator
ADC_CONV_INTERRUPT_EVERY_CONV 
ADC_CONV_INTERRUPT_EVERY_SEQUENCE 
TOTAL_ADC_CONV_INTERRUPT 

◆ adc_mode_t

enum adc_mode_t

#include <adc/public_inc/hal_adc.h>

Enumerator
ADC_MODE_SINGLE_ENDED 
ADC_MODE_DIFFERENTIAL 
TOTAL_ADC_MODE 

◆ adc_resolution_t

#include <adc/public_inc/hal_adc.h>

Enumerator
ADC_RESOLUTION_6_BITS 
ADC_RESOLUTION_8_BITS 
ADC_RESOLUTION_10_BITS 
ADC_RESOLUTION_12_BITS 
ADC_RESOLUTION_16_BITS 
ADC_RESOLUTION_24_BITS 
TOTAL_ADC_RESOLUTION 

◆ adc_result_t

#include <adc/public_inc/hal_adc.h>

Enumerator
ADC_RESULT_OK 

No error.

ADC_RESULT_INVALID 

Operation invalid.

ADC_RESULT_UNSUPPORTED 

Operation not supported.

ADC_RESULT_OVERRUN 

Overrun occurred.

ADC_RESULT_OVERFLOW 

Overflow occurred.

ADC_RESULT_ERR 

Error occured.

TOTAL_ADC_RESULT 

Function Documentation

◆ hal_adc_calibrate()

adc_result_t hal_adc_calibrate ( const float vref)

#include <adc/public_inc/hal_adc.h>

Calibrate ADC reference voltage.

adc_result_t
Definition hal_adc.h:39
adc_result_t hal_adc_calibrate(const float vref)
Calibrate ADC reference voltage.
Parameters
[in]vrefActual measured ADC reference voltage
Return values
ADC_RESULT_OKSuccess calibrate ADC channel
ADC_RESULT_INVALIDReference voltage invalid
ADC_RESULT_UNSUPPORTEDOperation not supported
ADC_RESULT_ERRFailed calibrate ADC channel

◆ hal_adc_init()

adc_result_t hal_adc_init ( const adc_channel_attr_t attr)

#include <adc/public_inc/hal_adc.h>

Configure ADC channel.

.resolution = ADC_RESOLUTION_12_BITS,
.timer_channel = BSP_TIMER_CHANNEL_3,
.sample_time_ms = 10U,
.low_power_enable = false
};
adc_result_t result = hal_adc_init( attr );
adc_result_t hal_adc_init(const adc_channel_attr_t attr)
Configure ADC channel.
@ ADC_CLOCK_MODE_ASYNCHRONOUS
Definition hal_adc.h:77
@ ADC_MODE_SINGLE_ENDED
Definition hal_adc.h:52
@ ADC_RESOLUTION_12_BITS
Definition hal_adc.h:87
Definition hal_adc.h:95
adc_mode_t mode
Definition hal_adc.h:96
Parameters
[in]attrADC channel configuration
Return values
ADC_RESULT_OKSuccess configure ADC channel
ADC_RESULT_INVALIDConfiguration attributes invalid
ADC_RESULT_UNSUPPORTEDOperation not supported
ADC_RESULT_ERRFailed configure ADC channel

◆ hal_adc_read()

uint32_t hal_adc_read ( const gpio_pin_t pin)

#include <adc/public_inc/hal_adc.h>

Read ADC pin value.

uint32_t adc_val = hal_adc_read( 13U );
uint32_t hal_adc_read(const gpio_pin_t pin)
Read ADC pin value.
Parameters
[in]pinPin number
Returns
ADC value for the pin

◆ hal_adc_read_volt()

float hal_adc_read_volt ( const gpio_pin_t pin)

#include <adc/public_inc/hal_adc.h>

Read ADC pin voltage.

float adc_volt = hal_adc_read_volt( 13U );
float hal_adc_read_volt(const gpio_pin_t pin)
Read ADC pin voltage.
Parameters
[in]pinPin number
Returns
Voltage present at pin