немного тупых вопросов
- Войдите на сайт для отправки комментариев
Втр, 13/09/2016 - 18:16
void setup() {
// put your setup code here, to run once:
pinMode(A0,INPUT);
pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int s= analogRead(0) /4;
Serial.println(s);
analogWrite(11,s);
int var=0.05076142*s-2;
delay(1);
Serial.print(var);
delay(100);
int p ;
if (var== p){
digitalWrite(13,LOW);
delay(500);
}
else
{
digitalWrite(13,HIGH);
}
p=var;
}
з7
вот такой простой код я хочу что бы он сравнивал var с прошлого цикла с var(приравниваю его к р) в новом цикле.
но почему то значения var равны p но все равно он их как то неправильно сравнивает и говорит что не равны
в чем может быть ошибка,заранее спасибо
Если какие-то переменные объявляешь внутри скобок {} , то выходя за них , а так же входя это уже другая переменная, хотя и название тоже. Но если все же очень хочется, то static http://arduino.ru/Reference/Static.
Но это сработает 1 раз при первом проходе.
ПС: Это условие языка и компилятора.
Или объяви переменную глобальной, т.е. вне функций setup() и loop()
Почему неправильно? Правильно сравнивает.
var получило значение в строке № <блин, см. п. 1>, а p просто объявлено в строке №<блин, см. п. 1> и тут же, в следующей строке сравнивается с var. Чему равно p, если Вы ему ничего не присволили? ХЗ! Вот так оно у Вас и работает. Совершенно правильно, как написали, так и работает.
P.S. Если хотите дальнейшей работы, вставьте код правильно, иначе ничего не будет (от меня, по крайней мере).