Aller au contenu

Filament ABS

Déclaration variable


Messages recommandés

j'essaye de passer une variable dans différents onglets mais j'ai en retour toujours un message d'erreur

si je tente avec #define ma variable deviens constante (normal) dans configuration.h et ensuite dans les différents onglets cela fonctionne,mais je ne souhaite pas utiliser une constante mais une variable.

je suis sous arduino 1.06 avec un marlin pour discovery200

merci de votre aide

Lien vers le commentaire
Partager sur d’autres sites

Par exemple :

int maVariable // déclaration d'une variable de type integer.

Donc maintenant si tu déclare cette variable dans par exemple un fichier : fic_mes_variables.h

et que dans un autre fichier tu fait : #include "fic_mes_variables.h"

Alors maVariable peut être manipulée depuis le fichier contenant cet #include. Toutefois si ta variable n'est utilisée que depuis un seul et même lieu il serait mieu de ne la déclarer que depuis cet endroit (soit en local à une fonction soit en global et donc manipulable depuis toutes les fonctions contenus).

Mais que veux tu faire plus exactement ?

Lien vers le commentaire
Partager sur d’autres sites

Après relecture :

en fait y-a plusieurs moyen de rendre une déclaration global ou local. 

Par exemple à l'intérieur d'un d'une fonction la variable sera local à la fonction. 

En en haut d'un fichier .ino elle sera global (utilisable par toutes les fonctions de ce fichier).

via un include, elle sera global à tous fichier disposant de cet include. 

Je suis avec mon iphone je ne peux donner d'exemple, mais dit moi si je me fait comprendre. 

Lien vers le commentaire
Partager sur d’autres sites

7Mo c'est pas si mal :)

Donne moi les fichiers important (le fichier ou tu déclare ta variable et ceux qui l'appels via include et autre)en fonction de ce que tu veux faire et la fonction ftostr32sp() car d'après son nom elle doit certainement transformer un float en string (pour l'affichage) hors un layer est un entier et nom pas une virgule flottante, ne epux tu pas directement ta variable dans le fichier de gestion de l'affichage ?

Lien vers le commentaire
Partager sur d’autres sites

quand je retire extern j'ai beaucoup de message d'erreur

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
Arduino: 1.0.6 (Windows NT (unknown)), Board: "Melzi 1284p 16mhz"
buzzer.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
cardreader.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
configuration_store.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
digipot_mcp4451.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
M100_Free_Mem_Chk.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
Marlin.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
MarlinSerial.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
Marlin_main.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
mesh_bed_leveling.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
planner.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
qr_solve.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
Sd2Card.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
SdBaseFile.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
SdFatUtil.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
SdFile.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
SdVolume.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
servo.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
stepper.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
stepper_indirection.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
temperature.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
ultralcd.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
vector_3.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
watchdog.cpp.o:(.bss.didi+0x0): multiple definition of `didi'
blinkm.cpp.o:(.bss.didi+0x0): first defined here
collect2.exe: error: ld returned 1 exit status

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...