![]() |
SysIo
1.9.0
Embedded Library and tools
|
Ce module fournit les fonctions permettant de contrôler le CAN d'un circuit d'entrées-sorties universel ChipIo.
![]() |
Functions | |
eAdcDiv | eChipIoAdcDiv (xChipIoAdc *xAdc) |
eAdcRef | eChipIoAdcRef (xChipIoAdc *xAdc) |
eAdcDiv | eChipIoAdcSetDiv (eAdcDiv eDiv, xChipIoAdc *xAdc) |
eAdcRef | eChipIoAdcSetRef (eAdcRef eRef, xChipIoAdc *xAdc) |
int | iChipIoAdcRead (unsigned input, xChipIoAdc *xAdc) |
void | vChipIoAdcClose (xChipIoAdc *xAdc) |
xChipIoAdc * | xChipIoAdcOpen (xChipIo *xChip) |
Macros | |
#define | ADC_MEASUREMENT(VALUE, FULL_SCALE) |
Retourne la grandeur associée à un nombre de LSB. More... | |
#define | ADC_VALUE(MEASUREMENT, FULL_SCALE) |
Retourne le nombre de LSB associé à une grandeur. More... | |
Typedefs | |
typedef struct xChipIoAdc | xChipIoAdc |
Enumerations | |
enum | eAdcDiv { eAdcDiv2 = 2, eAdcDiv4 = 4, eAdcDiv8 = 8, eAdcDiv16 = 16, eAdcDiv32 = 32, eAdcDiv64 = 64, eAdcDiv128 = 128, eAdcDivUnknown = -1 } |
enum | eAdcRef { eAdcRefExternal = 0x00, eAdcRefVcc = 0x01, eAdcRefInternal = 0x03, eAdcRefUnknown = -1 } |
#define ADC_MEASUREMENT | ( | VALUE, | |
FULL_SCALE | |||
) |
#define ADC_VALUE | ( | MEASUREMENT, | |
FULL_SCALE | |||
) |
typedef struct xChipIoAdc xChipIoAdc |
enum eAdcDiv |
#include <adc.h>
Facteur de division d'horloge CAN
La fréquence de l'horloge ChipIo est de 14,7456 MHz. L'horloge du CAN est dérivée de l'horloge ChipIo, sa fréquence est divisée par un facteur qui peut être modifier. Plus le facteur de division est élevé, plus la mesure sera précise au détriment de la rapidité de mesure. Une conversion prend 13 cycles d'horloge CAN. Le temps de mesure sera donc, par exemple, de 113 µs pour un facteur de division d'horloge de 128.
enum eAdcRef |
#include <adc.h>
Tension de référence du CAN
Enumerator | |
---|---|
eAdcRefExternal |
Tension de référence de la broche AREF |
eAdcRefVcc |
Tension AVCC avec un condensateur sur AREF |
eAdcRefInternal |
Tension de référence interne de 1.1 V |
eAdcDiv eChipIoAdcDiv | ( | xChipIoAdc * | xAdc | ) |
#include <adc.h>
Renvoie le facteur de division de l'horloge du CAN
xAdc | Pointeur sur le CAN |
eAdcRef eChipIoAdcRef | ( | xChipIoAdc * | xAdc | ) |
#include <adc.h>
Renvoie la tension de référence
xAdc | Pointeur sur le CAN |
eAdcDiv eChipIoAdcSetDiv | ( | eAdcDiv | eDiv, |
xChipIoAdc * | xAdc | ||
) |
#include <adc.h>
Modifie le facteur de division de l'horloge du CAN
eDiv | choix du facteur de division |
xAdc | Pointeur sur le CAN |
eAdcRef eChipIoAdcSetRef | ( | eAdcRef | eRef, |
xChipIoAdc * | xAdc | ||
) |
#include <adc.h>
Modifie la tension de référence
eRef | choix de la tension de référence |
xAdc | Pointeur sur le CAN |
int iChipIoAdcRead | ( | unsigned | input, |
xChipIoAdc * | xAdc | ||
) |
#include <adc.h>
Retourne la valeur d'une entrée analogique
input | le numéro de l'entrée concernée (0 à 3) |
xAdc | Pointeur sur le CAN |
void vChipIoAdcClose | ( | xChipIoAdc * | xAdc | ) |
#include <adc.h>
Fermeture du CAN
xAdc | Pointeur sur le CAN |
xChipIoAdc* xChipIoAdcOpen | ( | xChipIo * | xChip | ) |
#include <adc.h>
Ouverture d'un CAN
Le port est ouvert en lecture/écriture non bloquant.
xChip | Pointeur sur objet xChipIo ouvert avec xChipIoOpen() |
xIrqPin | Pointeur sur broche d'interruption, NULL si inutilisée |