Непонятки с флагами
- Войдите на сайт для отправки комментариев
Втр, 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);
}
}
}
}
Какой знакомый скетч.