Microchip® Advanced Software Framework

adc.c File Reference

Analog-to-Digital Converter (ADC/ADC12B) driver for SAM.

Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.

#include "adc.h"
#include <status_codes.h>

Macros

#define ADC_WPMR_WPKEY_PASSWD   ADC_WPMR_WPKEY(0x414443u)
 

Functions

void adc_check (Adc *p_adc, const uint32_t ul_mck)
 Check ADC configurations. More...
 
void adc_configure_power_save (Adc *p_adc, const uint8_t uc_sleep, const uint8_t uc_fwup)
 Configures ADC power saving mode. More...
 
void adc_configure_sequence (Adc *p_adc, const enum adc_channel_num_t ch_list[], uint8_t uc_num)
 Configure conversion sequence. More...
 
void adc_configure_timing (Adc *p_adc, const uint8_t uc_tracking, const enum adc_settling_time_t settling, const uint8_t uc_transfer)
 Configure ADC timing. More...
 
void adc_configure_trigger (Adc *p_adc, const enum adc_trigger_t trigger, uint8_t uc_freerun)
 Configure conversion trigger and free run mode. More...
 
void adc_configure_ts_comparison (Adc *p_adc, enum adc_temp_cmp_mode mode, uint16_t low_threshold, uint16_t high_threshold)
 Configure temperature sensor comparison. More...
 
void adc_disable_all_channel (Adc *p_adc)
 Disable all ADC channel. More...
 
void adc_disable_anch (Adc *p_adc)
 Disable analog change. More...
 
void adc_disable_channel (Adc *p_adc, const enum adc_channel_num_t adc_ch)
 Disable the specified ADC channel. More...
 
void adc_disable_channel_differential_input (Adc *p_adc, const enum adc_channel_num_t channel)
 Disable differential input for the specified channel. More...
 
void adc_disable_channel_input_offset (Adc *p_adc, const enum adc_channel_num_t channel)
 Disable analog signal offset for the specified channel. More...
 
void adc_disable_interrupt (Adc *p_adc, const uint32_t ul_source)
 Disable ADC interrupts. More...
 
void adc_disable_tag (Adc *p_adc)
 Disable TAG option. More...
 
void adc_disable_ts (Adc *p_adc)
 Turn off temperature sensor. More...
 
void adc_enable_all_channel (Adc *p_adc)
 Enable all ADC channels. More...
 
void adc_enable_anch (Adc *p_adc)
 Enable analog change. More...
 
void adc_enable_channel (Adc *p_adc, const enum adc_channel_num_t adc_ch)
 Enable the specified ADC channel. More...
 
void adc_enable_channel_differential_input (Adc *p_adc, const enum adc_channel_num_t channel)
 Enable differential input for the specified channel. More...
 
void adc_enable_channel_input_offset (Adc *p_adc, const enum adc_channel_num_t channel)
 Enable analog signal offset for the specified channel. More...
 
void adc_enable_interrupt (Adc *p_adc, const uint32_t ul_source)
 Enable ADC interrupts. More...
 
void adc_enable_tag (Adc *p_adc)
 Enable TAG option so that the number of the last converted channel can be indicated. More...
 
void adc_enable_ts (Adc *p_adc)
 Turn on temperature sensor. More...
 
uint32_t adc_get_actual_adc_clock (const Adc *p_adc, const uint32_t ul_mck)
 Return the actual ADC clock. More...
 
uint32_t adc_get_channel_status (const Adc *p_adc, const enum adc_channel_num_t adc_ch)
 Read the ADC channel status. More...
 
uint32_t adc_get_channel_value (const Adc *p_adc, const enum adc_channel_num_t adc_ch)
 Read the ADC result data of the specified channel. More...
 
uint32_t adc_get_comparison_mode (const Adc *p_adc)
 Get comparison mode. More...
 
uint32_t adc_get_interrupt_mask (const Adc *p_adc)
 Read ADC interrupt mask. More...
 
uint32_t adc_get_latest_value (const Adc *p_adc)
 Read the last ADC result data. More...
 
uint32_t adc_get_overrun_status (const Adc *p_adc)
 Get ADC interrupt and overrun error status. More...
 
Pdc * adc_get_pdc_base (const Adc *p_adc)
 Get PDC registers base address. More...
 
uint32_t adc_get_status (const Adc *p_adc)
 Get ADC interrupt and overrun error status. More...
 
enum adc_channel_num_t adc_get_tag (const Adc *p_adc)
 Indicate the last converted channel. More...
 
uint32_t adc_get_writeprotect_status (const Adc *p_adc)
 Indicate write protect status. More...
 
uint32_t adc_init (Adc *p_adc, const uint32_t ul_mck, const uint32_t ul_adc_clock, const enum adc_startup_time startup)
 Initialize the given ADC with the specified ADC clock and startup time. More...
 
void adc_reset (Adc *p_adc)
 Reset ADC. More...
 
void adc_set_averaging_trigger (Adc *p_adc, bool multi)
 Set digital averaging trigger. More...
 
void adc_set_bias_current (Adc *p_adc, const uint8_t uc_ibctl)
 Adapt performance versus power consumption. More...
 
void adc_set_calibmode (Adc *p_adc)
 Set ADC auto calibration mode. More...
 
void adc_set_channel_input_gain (Adc *p_adc, const enum adc_channel_num_t channel, const enum adc_gainvalue_t gain)
 Configure input gain for the specified channel. More...
 
void adc_set_comparison_channel (Adc *p_adc, const enum adc_channel_num_t channel)
 Configure comparison selected channel. More...
 
void adc_set_comparison_filter (Adc *p_adc, uint8_t filter)
 Set comparison filter. More...
 
void adc_set_comparison_mode (Adc *p_adc, const uint8_t uc_mode)
 Configure comparison mode. More...
 
void adc_set_comparison_window (Adc *p_adc, const uint16_t us_low_threshold, const uint16_t us_high_threshold)
 Configure ADC compare window. More...
 
enum status_code adc_set_internal_reference_voltage (Adc *p_adc, struct adc_internal_ref *ref)
 Set ADC analog control(internal reference voltage). More...
 
void adc_set_resolution (Adc *p_adc, const enum adc_resolution_t resolution)
 Configure the conversion resolution. More...
 
void adc_set_writeprotect (Adc *p_adc, const uint32_t ul_enable)
 Enable or disable write protection of ADC registers. More...
 
void adc_start (Adc *p_adc)
 Start analog-to-digital conversion. More...
 
void adc_start_sequencer (Adc *p_adc)
 Enable conversion sequencer. More...
 
void adc_stop_sequencer (Adc *p_adc)
 Disable conversion sequencer. More...
 
static uint32_t calcul_startup (const uint32_t ul_startup)
 calcul_startup More...