mikroSDK Reference Manual
drv_analog_in.h
Go to the documentation of this file.
1/****************************************************************************
2**
3** Copyright (C) 2024 MikroElektronika d.o.o.
4** Contact: https://www.mikroe.com/contact
5**
6** This file is part of the mikroSDK package
7**
8** Commercial License Usage
9**
10** Licensees holding valid commercial NECTO compilers AI licenses may use this
11** file in accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The MikroElektronika Company.
14** For licensing terms and conditions see
15** https://www.mikroe.com/legal/software-license-agreement.
16** For further information use the contact form at
17** https://www.mikroe.com/contact.
18**
19**
20** GNU Lesser General Public License Usage
21**
22** Alternatively, this file may be used for
23** non-commercial projects under the terms of the GNU Lesser
24** General Public License version 3 as published by the Free Software
25** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html.
26**
27** The above copyright notice and this permission notice shall be
28** included in all copies or substantial portions of the Software.
29**
30** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
32** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
33** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
34** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
35** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
36** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
37**
38****************************************************************************/
44#ifndef _DRV_ANALOG_IN_H_
45#define _DRV_ANALOG_IN_H_
46
47#ifdef __cplusplus
48extern "C"{
49#endif
50
51#include "drv_name.h"
52#include "hal_adc.h"
53
57typedef enum
58{
60 ADC_ERROR = (-1)
62
71
88
114
127typedef struct
128{
129 handle_t handle;
132
208
247
283
319
357
386err_t analog_in_read( analog_in_t *obj, uint16_t *readDatabuf );
387
417err_t analog_in_read_voltage( analog_in_t *obj, float *readDatabuf );
418
441
442 // drvadcgroup
443 // drvgroup
444 // pergroup
445
446#ifdef __cplusplus
447}
448#endif
449
450#endif // _DRV_ANALOG_IN_H_
451// ------------------------------------------------------------------------- END
analog_in_vref_t
Definition drv_analog_in.h:67
@ ANALOG_IN_VREF_INTERNAL
Definition drv_analog_in.h:69
@ ANALOG_IN_VREF_EXTERNAL
Definition drv_analog_in.h:68
analog_in_err_t
Definition drv_analog_in.h:58
@ ADC_ERROR
Definition drv_analog_in.h:60
@ ADC_SUCCESS
Definition drv_analog_in.h:59
analog_in_resolution_t
Definition drv_analog_in.h:76
@ ANALOG_IN_RESOLUTION_NOT_SET
Definition drv_analog_in.h:77
@ ANALOG_IN_RESOLUTION_12_BIT
Definition drv_analog_in.h:81
@ ANALOG_IN_RESOLUTION_16_BIT
Definition drv_analog_in.h:83
@ ANALOG_IN_RESOLUTION_10_BIT
Definition drv_analog_in.h:80
@ ANALOG_IN_RESOLUTION_8_BIT
Definition drv_analog_in.h:79
@ ANALOG_IN_RESOLUTION_14_BIT
Definition drv_analog_in.h:82
@ ANALOG_IN_RESOLUTION_6_BIT
Definition drv_analog_in.h:78
Pin and port name type definitions.
hal_pin_name_t pin_name_t
Definition drv_name.h:74
err_t analog_in_close(analog_in_t *obj)
Close ADC driver context object.
err_t analog_in_set_resolution(analog_in_t *obj, analog_in_resolution_t resolution)
Set ADC driver sample resolution.
err_t analog_in_read_voltage(analog_in_t *obj, float *readDatabuf)
Read analog voltage value from pin.
err_t analog_in_open(analog_in_t *obj, analog_in_config_t *config)
Open the ADC driver object on selected pin.
err_t analog_in_set_vref_input(analog_in_t *obj, analog_in_vref_t vref)
Set ADC driver voltage reference source.
err_t analog_in_read(analog_in_t *obj, uint16_t *readDatabuf)
Read analog value from pin.
void analog_in_configure_default(analog_in_config_t *config)
Configure ADC configuration structure.
err_t analog_in_set_vref_value(analog_in_t *obj, float vref_value)
Set ADC driver voltage reference value.
This file contains all the functions prototypes for the ADC library.
int32_t err_t
Definition hal_target.h:64
Analog input driver configuration structure.
Definition drv_analog_in.h:108
pin_name_t input_pin
Definition drv_analog_in.h:109
float vref_value
Definition drv_analog_in.h:112
analog_in_resolution_t resolution
Definition drv_analog_in.h:110
analog_in_vref_t vref_input
Definition drv_analog_in.h:111
Analog input driver context structure, consisted of the following fields :
Definition drv_analog_in.h:128
analog_in_config_t config
Definition drv_analog_in.h:130
handle_t handle
Definition drv_analog_in.h:129