Arduino : int tension = 0; ou int tension; ?
Résolu/Fermé
Bonjour à tous,
je pratique en ce moment la programmation sur une carte Arduino. Lorsque je défini une variable "tension" par exemple, quelle est la différence entre " int tension = 0; " et " int tension; " ?
je pratique en ce moment la programmation sur une carte Arduino. Lorsque je défini une variable "tension" par exemple, quelle est la différence entre " int tension = 0; " et " int tension; " ?
A voir également:
- Arduino : int tension = 0; ou int tension; ?
- Processing arduino download - Télécharger - Langages
- Arduino sanguino - Forum Logiciels
- Expected ')' before ' ' token arduino ✓ - Forum C
- Arduino switch case string ✓ - Forum C++
- Grafcet arduino - Forum C
3 réponses
yg_be
Messages postés
23474
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 février 2025
Ambassadeur
1 568
7 juin 2021 à 14:52
7 juin 2021 à 14:52
bonjour,
je suppose que tu programmes en C.
je suppose que tu programmes en C.
int tension;déclare une variable dont la valeur initiale est indéterminée.
int tension = 0;déclare une variable dont la valeur initiale est 0.
seb77150
Messages postés
5846
Date d'inscription
lundi 17 février 2020
Statut
Membre
Dernière intervention
8 août 2023
495
Modifié le 7 juin 2021 à 14:54
Modifié le 7 juin 2021 à 14:54
Salut, int tension = 0 tu attribue la valeur 0 à la variable tension et pour la deuxième int tension; je ne vois pas trop l'intérêt
georges97
Messages postés
13112
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
20 février 2025
2 494
Modifié le 7 juin 2021 à 15:17
Modifié le 7 juin 2021 à 15:17
Bonjour,
int tension-0 est une déclaration et initialisation de variable (à la valeur 0 ou autre)
int tension n'est que la déclaration de type. La valeur est indéterminée pour ne pas dire aléatoire puisqu'elle peut prendre le contenu de l'adresse où elle est stockée par le programme.
Si vous ajoutez une ligne tension=0, cela revient à créer en deux temps ce que vous auriez pu faire en une instruction.
Ceci dit, si vous définissez la variable et en changez la valeur dans un bloc ou une fonction, c'est la nouvelle valeur, par exemple tension=5, qui est prise en compte, et perdue dès que vous sortez du bloc ou de la fonction.
C'est ce qu'on appelle la portée de la variable.
Dans ce cas, tension revient à la valeur initiale (0 ou autre)
Si vous voulez utiliser le résultat de a fonction, il faut faire un return tension et l'affecter à une autre variable.
Attendre les compléments ou infirmations d'autres intervenants plus qualifiés.
int tension-0 est une déclaration et initialisation de variable (à la valeur 0 ou autre)
int tension n'est que la déclaration de type. La valeur est indéterminée pour ne pas dire aléatoire puisqu'elle peut prendre le contenu de l'adresse où elle est stockée par le programme.
Si vous ajoutez une ligne tension=0, cela revient à créer en deux temps ce que vous auriez pu faire en une instruction.
Ceci dit, si vous définissez la variable et en changez la valeur dans un bloc ou une fonction, c'est la nouvelle valeur, par exemple tension=5, qui est prise en compte, et perdue dès que vous sortez du bloc ou de la fonction.
C'est ce qu'on appelle la portée de la variable.
Dans ce cas, tension revient à la valeur initiale (0 ou autre)
Si vous voulez utiliser le résultat de a fonction, il faut faire un return tension et l'affecter à une autre variable.
Attendre les compléments ou infirmations d'autres intervenants plus qualifiés.
georges97
Messages postés
13112
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
20 février 2025
2 494
7 juin 2021 à 15:19
7 juin 2021 à 15:19
Bonjour yg_be,
Désolé, j'ai mis trop longtemps à rédiger et n'ai pas vu ta réponse avant de valider;
Je te laisse la main.
Désolé, j'ai mis trop longtemps à rédiger et n'ai pas vu ta réponse avant de valider;
Je te laisse la main.
sXchX
>
georges97
Messages postés
13112
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
20 février 2025
7 juin 2021 à 15:21
7 juin 2021 à 15:21
Merci quand même pour votre réponse !
7 juin 2021 à 14:57
7 juin 2021 à 15:15
7 juin 2021 à 15:17
unsigned int tension = 0;
int calcul = 0;
int pin = 3;
void setup()
{
Serial.begin(115200); //Démarrage de la communication série
}
void loop()
{
Serial.print("Entrez une tension entre 0 et 5V \n"); //On écrit "Entrez une tension entre 0 et 5V" dans le moniteur série
while(Serial.available() == 0); //Tant qu'il n'y a rien de saisi dans le moniteur:
tension = Serial.read(); //On lit la valeur analogique saisie dans le moniteur
tension = Serial.parseInt(); //On l'enregistre
delay(2000); //Délai de mise à jour du moniteur
Serial.print("La tension est "); //On écrit "La tension est :"
Serial.println(tension); //On va à la ligne et on écrit la valeur analogique de la tension (entre 0 et 5V)
calcul = (tension * 4095 )/5; //Calcul de la valeur numérique
Serial.print("Image tension est : "); //On écrit "image tension est"
Serial.println(calcul); //On va à la ligne et on affiche la valeur numérique (entre 0 et4096)
analogWrite(pin, calcul); //On attribue la valeur "calcul" au pin (broche)
}
7 juin 2021 à 15:30
tu ne nous expliques pas ce qu'affiche ton programme.
je suis étonné par ces deux lignes:
qu'essaies-tu d'y faire?
7 juin 2021 à 15:35
Excusez moi mais qu'est ce que les balises de code ?