Непонятки с флагами
- Войдите на сайт для отправки комментариев
Втр, 21/10/2014 - 14:07
Нужно если флаг = 0 то выполнять запрос на передачу данных в порт
Если флаг = 1 то ничего не отправлять и не показывать.
А у меня почему-то флаг всегда 0 хотя я и присваеваю 1
int in=0; int out = 0; int dif=0; int btn = 2; int btnOUT = 3; int buttonState = 0; byte portB=0; byte port=0; int x=5; int flag=0; void setup(){ DDRB = 0b00000000; //All pins in PORTD are inputs PORTB = 0b00011111; pinMode(btn,INPUT); pinMode(x,OUTPUT); pinMode(btnOUT, OUTPUT); pinMode(btnOUT, OUTPUT); digitalWrite(btnOUT,HIGH); digitalWrite(btn,HIGH); digitalWrite(x,HIGH); Serial.begin(9600); } void loop() { prirost(); if(digitalRead(btn)==LOW && digitalRead(btnOUT)==LOW){ flag=1; in++; out++; delay(100); } else if(digitalRead(btn)==LOW && digitalRead(btnOUT)==HIGH){ flag=1; in++; delay(100); }else if (digitalRead(btnOUT)==LOW && digitalRead(btn)==HIGH) { flag=1; out++; delay(100); }else if(digitalRead(btnOUT)==HIGH && digitalRead(btn)==HIGH) { flag=0; } if(Serial.available() ) { Serial.setTimeout(100); port = Serial.parseInt(); if(port == portB ) { if(flag==0){ vivod(); Serial.print(flag); } } } }
Какой знакомый скетч.