Soros puffer működése ?

A "60 nap alatt Arduino" tanfolyam házi feladatai és közvetlen témái
Válasz küldése
Avatar
JTama
DrótVégénSzéndarab
Hozzászólások: 15
Csatlakozott: 2008. november 13. csütörtök, 7:00

Soros puffer működése ?

Hozzászólás Szerző: JTama »

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
Avatar
macsek
Bitmanipulátor
Hozzászólások: 121
Csatlakozott: 2008. december 4. csütörtök, 7:00

Re: Soros puffer működése ?

Hozzászólás Szerző: macsek »

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);
A while addig ismétel amig igaz a feltétel. Azaz itt addig jár körben, amig t gombot nyomsz...

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);
Válasz küldése