Est-ce qu'un int peut contenir un A4

Bonjour,

Je travaille sur une librairie que j'ai adapter. A ma question, je pense que non.

Dans ma librairrie, j'ai ceci qui va l'instentier

int wmd1_pin = 13;       // digital to power watermark sensor
int wmd2_pin = A4;       // == A4, digital to power watermark sensor
int wm1_pin = A1;        // == A1, analog tp measure watermark 1
int wm2_pin = A2;        // == A2, analog tp measure watermark 2
int wm3_pin = A3;        // == A3, analog tp measure watermark 3
long wm1_rf = 9440;     //9440// Resistence de reféfrence pour pour Watermark 1 (Diviseur de tension)
long wm2_rf = 9440;     // Resistence de reféfrence pour pour Watermark 2
long wm3_rf = 10000;     // Resistence de reféfrence pour pour Watermark 3
float wm_vin = 3.3;       // Tension de fonctionnement du microcontroller
int ds18b20_pin = A5;     // == A5 Analog read

Watermark watermark1(wmd1_pin,wmd2_pin,wm1_pin,wm1_rf,ds18b20_pwd_pin,ds18b20_pin,wm_vin); /
  Watermark watermark2(wmd1_pin,wmd2_pin,wm2_pin,wm2_rf,ds18b20_pwd_pin,ds18b20_pin,wm_vin);
  Watermark watermark3(wmd1_pin,wmd2_pin,wm3_pin,wm3_rf,ds18b20_pwd_pin,ds18b20_pin,wm_vin);

Ca peut parraitre pas claire.

Dan ce cas, de figure, si je prends exemple sur mon capeur de temperature, la lexture se fait sur le pin analogique A5

Etant donné que la variable est un int, j'ai d'abord faire comme ceci

int ds18b20_pin = 19;     // == A5 Analog read

19 étant un int et l''équivalence de A5 https://cdn-learn.adafruit.com/assets/assets/000/046/243/original/adafruit_products_Feather_M0_Adalogger_v2.2-1.png?1504885273

le problème c'est je n'avais aucn résultat concliant.

Donc je suis allé dans ma librairie, et j'ai directement mis A5, sans passerpar le constructeur. Et la ca marche.

Donc je suis revenu sur ma déclaration et j'ai modifier ainsi:

int ds18b20_pin = A5;     // == A5 Analog read

mais là je me suis dit, ca ne va pas marcher car A5, c'est pas un int, vu que A est un caractère.

Mais mon IDE ne me génère pas d'erreur, donc je suis un peu confu.

Que contient réellement ds18b20_pin ,si je fais

int ds18b20_pin = A5
analogRead(ds18b20_pin );

J'espère que j'ai été claire?

Merci

Bonjour,

A5 est une constante déclarée dans un fichier .h (et qui vaut 19).

Et plus particulièrement le fichier Arduino.h
Que tu as tout intéret à lire !
Tu y trouvera comment Wiring/arduino fait la corespondance entre les dénominations arduino des pins et les dénominations Atmel qui sont les seules que le micro comprend.

De même les constantes d’origine Atmel se trouvent aussi (sans quoi cela ne fonctionnerait pas) dans l’IDE. C’est dans ce fichier, qu’entre autre, sont définis les liens entre les noms des registres et leurs adresses physiques. Il est donc bien essentiel.
Pour le micro Atmega328p c’est le fichier iom328p.h, je te laisse explorer le répertoire de l’IDE