Nem pontosan a házi feladat, de szeretnék azért egy kis segítséget kérni. Az alábbi programban az lett volna a célom, hogy a do...while ciklusból csak a 't' karakter leütése után lépjek ki. A PC-arduino nem igy akarja. Gyakorlatilag bármely karakter bevitele után, lefut a pr. többi része.
int r;
float k;
float pi = 3.14;
int inbyte;
int x;
int y;
char tov = 't';
char scan;
void setup(){
Serial.begin(9600);
Serial.println("A kor kerulete");
Serial.println("Kerem az r-t");
}
void loop() {
do{
if (Serial.available() > 0)
scan = Serial.read();
delay(500);
//Serial.print(scan,DEC);
}while (scan == tov);
if (Serial.available() > 0)
{
inbyte = Serial.read();
delay(10);
x = inbyte - 48;
x = x * 10;
}
if (Serial.available() > 0)
{
inbyte = Serial.read();
delay(10);
y = inbyte - 48;
r = x + y;
Serial.print("r = ");
Serial.println(r,DEC);
k = 2 * r * pi;
Serial.print("k = ");
Serial.println(k,DEC);
}
}
jtama
Soros puffer működése ?
Re: Soros puffer működése ?
A while addig ismétel amig igaz a feltétel. Azaz itt addig jár körben, amig t gombot nyomsz...JTama írta:Nem pontosan a házi feladat, de szeretnék azért egy kis segítséget kérni. Az alábbi programban az lett volna a célom, hogy a do...while ciklusból csak a 't' karakter leütése után lépjek ki. A PC-arduino nem igy akarja. Gyakorlatilag bármely karakter bevitele után, lefut a pr. többi része.
do{
if (Serial.available() > 0)
scan = Serial.read();
delay(500);
//Serial.print(scan,DEC);
}
while (scan == tov);
Ezzel tudod kivárni a t gomb lenyomását:
do{
if (Serial.available() > 0)
scan = Serial.read();
delay(500);
//Serial.print(scan,DEC);
}
while (scan != tov);