declared variable inside void setup is forgotten in void loopCoding DebuggingSpeed Control L298 motorsPassing pointers between setup and loopServotimer2, detach “stop”Arduino code to control 4 led's from 4 buttonsAdding music to loopServo doesn't work in 'for' loop running under 'if' loopInterrupts Problem with Flow sensorWhy a servo doesn`t move to angles properlyHow do I make a Servo Stop if it Hits Resistance?

Did 20% of US soldiers in Vietnam use heroin, 95% of whom quit afterwards?

A steel cutting sword?

Count Even Digits In Number

Python program to find the most frequent letter in a text

What does this symbol on the box of power supply mean?

Make 24 using exactly three 3s

I unknowingly submitted plagarised work

Teacher help me explain this to my students

Caught 2 students cheating together on the final exam that I proctored

In general, would I need to season a meat when making a sauce?

What is the object moving across the ceiling in this stock footage?

How to know if a folder is a symbolic link?

Pirate democracy at its finest

What is a Centaur Thief's climbing speed?

Where have Brexit voters gone?

using Leibniz rule to solve definite integral

How did these characters "suit up" so quickly?

Count rotary dial pulses in a phone number (including letters)

Does Nitrogen inside commercial airliner wheels prevent blowouts on touchdown?

Is Jon Snow the last of his House?

Should breaking down something like a door be adjudicated as an attempt to beat its AC and HP, or as an ability check against a set DC?

Why are C64 games inconsistent with which joystick port they use?

The art of clickbait captions

Where is the logic in castrating fighters?



declared variable inside void setup is forgotten in void loop


Coding DebuggingSpeed Control L298 motorsPassing pointers between setup and loopServotimer2, detach “stop”Arduino code to control 4 led's from 4 buttonsAdding music to loopServo doesn't work in 'for' loop running under 'if' loopInterrupts Problem with Flow sensorWhy a servo doesn`t move to angles properlyHow do I make a Servo Stop if it Hits Resistance?













1















if i declare a var in void setup() and try to do something with it in void loop(), it just says that the variable is undeclared. here is the code:



#include "Servo.h"

void setup()
Servo servo1;
int x_key = A0;
servo1.attach(2);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);

int x_position = 90;


void loop()
if (analogRead(A0) < 512)
x_position++;
servo1.write(x_position);











share|improve this question
























  • You need to select your code and tap the (code formatting) button. I did it for you.

    – Duncan C
    May 12 at 19:29






  • 3





    Of course it's undeclared. The variable is in setup. It's not in loop.

    – Majenko
    May 12 at 19:30






  • 1





    Because the variable is only valid, where it is declared, to use the official term: it's scope. When the program moves out of the scope of this variable, it will get thrown away and be no longer available. You can declare it in global scope, meaning outside of any function

    – chrisl
    May 12 at 19:32











  • This is more a question about C/C++, not about Arduino

    – chrisl
    May 12 at 19:33











  • @chrisl true, but the OP doesn't know enough to know where to ask the question. We all have to start somewhere. I just wish people would do some self-study before running to the internet looking for somebody else to answer their questions for them.

    – Duncan C
    May 12 at 19:35















1















if i declare a var in void setup() and try to do something with it in void loop(), it just says that the variable is undeclared. here is the code:



#include "Servo.h"

void setup()
Servo servo1;
int x_key = A0;
servo1.attach(2);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);

int x_position = 90;


void loop()
if (analogRead(A0) < 512)
x_position++;
servo1.write(x_position);











share|improve this question
























  • You need to select your code and tap the (code formatting) button. I did it for you.

    – Duncan C
    May 12 at 19:29






  • 3





    Of course it's undeclared. The variable is in setup. It's not in loop.

    – Majenko
    May 12 at 19:30






  • 1





    Because the variable is only valid, where it is declared, to use the official term: it's scope. When the program moves out of the scope of this variable, it will get thrown away and be no longer available. You can declare it in global scope, meaning outside of any function

    – chrisl
    May 12 at 19:32











  • This is more a question about C/C++, not about Arduino

    – chrisl
    May 12 at 19:33











  • @chrisl true, but the OP doesn't know enough to know where to ask the question. We all have to start somewhere. I just wish people would do some self-study before running to the internet looking for somebody else to answer their questions for them.

    – Duncan C
    May 12 at 19:35













1












1








1








if i declare a var in void setup() and try to do something with it in void loop(), it just says that the variable is undeclared. here is the code:



#include "Servo.h"

void setup()
Servo servo1;
int x_key = A0;
servo1.attach(2);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);

int x_position = 90;


void loop()
if (analogRead(A0) < 512)
x_position++;
servo1.write(x_position);











share|improve this question
















if i declare a var in void setup() and try to do something with it in void loop(), it just says that the variable is undeclared. here is the code:



#include "Servo.h"

void setup()
Servo servo1;
int x_key = A0;
servo1.attach(2);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);

int x_position = 90;


void loop()
if (analogRead(A0) < 512)
x_position++;
servo1.write(x_position);








arduino-uno programming c++ motor servo






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 12 at 19:29









Duncan C

2,3492720




2,3492720










asked May 12 at 19:27









ThisIsAronThisIsAron

61




61












  • You need to select your code and tap the (code formatting) button. I did it for you.

    – Duncan C
    May 12 at 19:29






  • 3





    Of course it's undeclared. The variable is in setup. It's not in loop.

    – Majenko
    May 12 at 19:30






  • 1





    Because the variable is only valid, where it is declared, to use the official term: it's scope. When the program moves out of the scope of this variable, it will get thrown away and be no longer available. You can declare it in global scope, meaning outside of any function

    – chrisl
    May 12 at 19:32











  • This is more a question about C/C++, not about Arduino

    – chrisl
    May 12 at 19:33











  • @chrisl true, but the OP doesn't know enough to know where to ask the question. We all have to start somewhere. I just wish people would do some self-study before running to the internet looking for somebody else to answer their questions for them.

    – Duncan C
    May 12 at 19:35

















  • You need to select your code and tap the (code formatting) button. I did it for you.

    – Duncan C
    May 12 at 19:29






  • 3





    Of course it's undeclared. The variable is in setup. It's not in loop.

    – Majenko
    May 12 at 19:30






  • 1





    Because the variable is only valid, where it is declared, to use the official term: it's scope. When the program moves out of the scope of this variable, it will get thrown away and be no longer available. You can declare it in global scope, meaning outside of any function

    – chrisl
    May 12 at 19:32











  • This is more a question about C/C++, not about Arduino

    – chrisl
    May 12 at 19:33











  • @chrisl true, but the OP doesn't know enough to know where to ask the question. We all have to start somewhere. I just wish people would do some self-study before running to the internet looking for somebody else to answer their questions for them.

    – Duncan C
    May 12 at 19:35
















You need to select your code and tap the (code formatting) button. I did it for you.

– Duncan C
May 12 at 19:29





You need to select your code and tap the (code formatting) button. I did it for you.

– Duncan C
May 12 at 19:29




3




3





Of course it's undeclared. The variable is in setup. It's not in loop.

– Majenko
May 12 at 19:30





Of course it's undeclared. The variable is in setup. It's not in loop.

– Majenko
May 12 at 19:30




1




1





Because the variable is only valid, where it is declared, to use the official term: it's scope. When the program moves out of the scope of this variable, it will get thrown away and be no longer available. You can declare it in global scope, meaning outside of any function

– chrisl
May 12 at 19:32





Because the variable is only valid, where it is declared, to use the official term: it's scope. When the program moves out of the scope of this variable, it will get thrown away and be no longer available. You can declare it in global scope, meaning outside of any function

– chrisl
May 12 at 19:32













This is more a question about C/C++, not about Arduino

– chrisl
May 12 at 19:33





This is more a question about C/C++, not about Arduino

– chrisl
May 12 at 19:33













@chrisl true, but the OP doesn't know enough to know where to ask the question. We all have to start somewhere. I just wish people would do some self-study before running to the internet looking for somebody else to answer their questions for them.

– Duncan C
May 12 at 19:35





@chrisl true, but the OP doesn't know enough to know where to ask the question. We all have to start somewhere. I just wish people would do some self-study before running to the internet looking for somebody else to answer their questions for them.

– Duncan C
May 12 at 19:35










1 Answer
1






active

oldest

votes


















5














Yes, that is how C and C++ (and most other C-like languages) work. Variables have "scope". Any variable define inside a pair of curly braces (between a and a ) is only visible inside those braces.



If you want to reference a variable in both setup() and loop(), you have to make it a global variable, defined at the top of your code.



#include "Servo.h"
Servo servo1;
int x_position = 90; //Define your global var(s) here



void setup()
int x_key = A0; //This var only exists inside the setup function
servo1.attach(2);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);



void loop()
if (analogRead(A0) < 512)
x_position++;
servo1.write(x_position);







share|improve this answer




















  • 2





    Surely servo1 should be global as well?

    – copper.hat
    May 13 at 1:02











  • Yup, that too. I was in a bit of a hurry when I made that post.

    – Duncan C
    May 15 at 0:14











Your Answer






StackExchange.ifUsing("editor", function ()
return StackExchange.using("schematics", function ()
StackExchange.schematics.init();
);
, "cicuitlab");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "540"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2farduino.stackexchange.com%2fquestions%2f65337%2fdeclared-variable-inside-void-setup-is-forgotten-in-void-loop%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









5














Yes, that is how C and C++ (and most other C-like languages) work. Variables have "scope". Any variable define inside a pair of curly braces (between a and a ) is only visible inside those braces.



If you want to reference a variable in both setup() and loop(), you have to make it a global variable, defined at the top of your code.



#include "Servo.h"
Servo servo1;
int x_position = 90; //Define your global var(s) here



void setup()
int x_key = A0; //This var only exists inside the setup function
servo1.attach(2);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);



void loop()
if (analogRead(A0) < 512)
x_position++;
servo1.write(x_position);







share|improve this answer




















  • 2





    Surely servo1 should be global as well?

    – copper.hat
    May 13 at 1:02











  • Yup, that too. I was in a bit of a hurry when I made that post.

    – Duncan C
    May 15 at 0:14















5














Yes, that is how C and C++ (and most other C-like languages) work. Variables have "scope". Any variable define inside a pair of curly braces (between a and a ) is only visible inside those braces.



If you want to reference a variable in both setup() and loop(), you have to make it a global variable, defined at the top of your code.



#include "Servo.h"
Servo servo1;
int x_position = 90; //Define your global var(s) here



void setup()
int x_key = A0; //This var only exists inside the setup function
servo1.attach(2);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);



void loop()
if (analogRead(A0) < 512)
x_position++;
servo1.write(x_position);







share|improve this answer




















  • 2





    Surely servo1 should be global as well?

    – copper.hat
    May 13 at 1:02











  • Yup, that too. I was in a bit of a hurry when I made that post.

    – Duncan C
    May 15 at 0:14













5












5








5







Yes, that is how C and C++ (and most other C-like languages) work. Variables have "scope". Any variable define inside a pair of curly braces (between a and a ) is only visible inside those braces.



If you want to reference a variable in both setup() and loop(), you have to make it a global variable, defined at the top of your code.



#include "Servo.h"
Servo servo1;
int x_position = 90; //Define your global var(s) here



void setup()
int x_key = A0; //This var only exists inside the setup function
servo1.attach(2);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);



void loop()
if (analogRead(A0) < 512)
x_position++;
servo1.write(x_position);







share|improve this answer















Yes, that is how C and C++ (and most other C-like languages) work. Variables have "scope". Any variable define inside a pair of curly braces (between a and a ) is only visible inside those braces.



If you want to reference a variable in both setup() and loop(), you have to make it a global variable, defined at the top of your code.



#include "Servo.h"
Servo servo1;
int x_position = 90; //Define your global var(s) here



void setup()
int x_key = A0; //This var only exists inside the setup function
servo1.attach(2);
pinMode(A0, INPUT);
pinMode(2, OUTPUT);



void loop()
if (analogRead(A0) < 512)
x_position++;
servo1.write(x_position);








share|improve this answer














share|improve this answer



share|improve this answer








edited May 13 at 8:52









Sim Son

41118




41118










answered May 12 at 19:31









Duncan CDuncan C

2,3492720




2,3492720







  • 2





    Surely servo1 should be global as well?

    – copper.hat
    May 13 at 1:02











  • Yup, that too. I was in a bit of a hurry when I made that post.

    – Duncan C
    May 15 at 0:14












  • 2





    Surely servo1 should be global as well?

    – copper.hat
    May 13 at 1:02











  • Yup, that too. I was in a bit of a hurry when I made that post.

    – Duncan C
    May 15 at 0:14







2




2





Surely servo1 should be global as well?

– copper.hat
May 13 at 1:02





Surely servo1 should be global as well?

– copper.hat
May 13 at 1:02













Yup, that too. I was in a bit of a hurry when I made that post.

– Duncan C
May 15 at 0:14





Yup, that too. I was in a bit of a hurry when I made that post.

– Duncan C
May 15 at 0:14

















draft saved

draft discarded
















































Thanks for contributing an answer to Arduino Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2farduino.stackexchange.com%2fquestions%2f65337%2fdeclared-variable-inside-void-setup-is-forgotten-in-void-loop%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020