![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
Ce module permet de gérer des capteurs analogiques à réponse linéaire et non-linéaire.
La tension en sortie du capteur est mesurée grâce au convertisseur analogique-numérique intégré au MCU.
![]() |
Structures de données | |
struct | xAdcSensor |
Capteur. Plus de détails... | |
struct | xAdcSensorLinearSetting |
struct | xAdcSensorNlinearSetting |
union | xAdcSensorSetting |
Fonctions | |
double | dAdcSensorGetValue (xAdcSensor *pSensor) |
Lecture grandeur capteur. Plus de détails... | |
double | dAdcSensorRawToValue (xAdcSensor *pSensor, uint16_t usRaw) |
Convertit une valeur ADC en grandeur capteur. Plus de détails... | |
uint16_t | usAdcSensorGetRaw (xAdcSensor *pSensor) |
Lecture valeur brute ADC. Plus de détails... | |
void | vAdcSensorInit (xAdcSensor *pSensor, xAdcSensorSetting *pSetting, eAdcSensorType eType, uint8_t ucAdcChan, uint8_t ucTerms) |
Initialisation capteur. Plus de détails... | |
Macros | |
#define | ADC_SENSOR_SETTING_LINEAR(_vmin, _vmax, _rmin, _rmax) |
Initialisation d'un repère linéaire. Plus de détails... | |
#define | ADC_SENSOR_SETTING_NLINEAR(_coeff, _f) |
Initialisation d'un repère non linéaire. Plus de détails... | |
Définitions de type | |
typedef double(* | dAdcSensorConvert) (struct xAdcSensor *, uint16_t) |
typedef struct xAdcSensor | xAdcSensor |
Capteur. Plus de détails... | |
typedef struct xAdcSensorLinearSetting | xAdcSensorLinearSetting |
typedef struct xAdcSensorNlinearSetting | xAdcSensorNlinearSetting |
typedef union xAdcSensorSetting | xAdcSensorSetting |
Énumérations | |
enum | eAdcSensorType { ADC_SENSOR_LINEAR = 0, ADC_SENSOR_NLINEAR = 1 } |
#define ADC_SENSOR_SETTING_LINEAR | ( | _vmin, | |
_vmax, | |||
_rmin, | |||
_rmax | |||
) |
Initialisation d'un repère linéaire.
Permet d'initialiser un repère d'étalonnage de capteur linéaire
Définition à la ligne 70 du fichier adc_sensor.h.
#define ADC_SENSOR_SETTING_NLINEAR | ( | _coeff, | |
_f | |||
) |
Initialisation d'un repère non linéaire.
Permet d'initialiser un repère d'étalonnage de capteur non linéaire
Définition à la ligne 81 du fichier adc_sensor.h.
typedef double(* dAdcSensorConvert) (struct xAdcSensor *, uint16_t) |
Fonction de conversion d'une valeur brute ADC en grandeur de sortie
Définition à la ligne 100 du fichier adc_sensor.h.
typedef struct xAdcSensor xAdcSensor |
Capteur.
Capteur connecté à une entrée de l'ADC
typedef struct xAdcSensorLinearSetting xAdcSensorLinearSetting |
Repère d'étalonnage d'un capteur linéaire
typedef struct xAdcSensorNlinearSetting xAdcSensorNlinearSetting |
Repère d'étalonnage d'un capteur non linéaire
typedef union xAdcSensorSetting xAdcSensorSetting |
Repère d'étalonnage d'un capteur
enum eAdcSensorType |
Type de capteur
Valeurs énumérées | |
---|---|
ADC_SENSOR_LINEAR |
Capteur linéaire. |
ADC_SENSOR_NLINEAR |
Capteur non linéaire. |
Définition à la ligne 91 du fichier adc_sensor.h.
double dAdcSensorGetValue | ( | xAdcSensor * | pSensor | ) |
Lecture grandeur capteur.
Effectue une mesure avec usAdcSensorGetRaw() et la convertit avec dAdcSensorRawToValue()
pSensor | pointeur sur le capteur à utiliser |
double dAdcSensorRawToValue | ( | xAdcSensor * | pSensor, |
uint16_t | usRaw | ||
) |
Convertit une valeur ADC en grandeur capteur.
pSensor | pointeur sur le capteur à utiliser |
usRaw | valeur de l'ADC correspodant à la grandeur |
uint16_t usAdcSensorGetRaw | ( | xAdcSensor * | pSensor | ) |
Lecture valeur brute ADC.
Renvoie la valeur filtrée de l'ADC, le champ ucAdcScale de pSensor est mis à jour.
pSensor | pointeur sur le capteur à utiliser |
void vAdcSensorInit | ( | xAdcSensor * | pSensor, |
xAdcSensorSetting * | pSetting, | ||
eAdcSensorType | eType, | ||
uint8_t | ucAdcChan, | ||
uint8_t | ucTerms | ||
) |
Initialisation capteur.
Attention, il est nécessaire d'initialiser l'ADC séparément.
pSensor | pointeur sur le capteur à utiliser |
pSetting | pointeur sur le repère d'étalonnage |
eType | Type de capteur |
ucAdcChan | voie ADC utilisée par le capteur |
ucTerms | nombre de mesures effectuées pour le filtrage, si > 1 une moyenne est effectuée, sinon c'est une mesure brute. Le champ eFilter de xAdcSensor peut être modifié pour changer de filtrage. |