INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Anfängerfrage zu Serial.read
16.01.2016, 22:40
Beitrag #1
Anfängerfrage zu Serial.read
Hallo.
Ich lerne derzeit den Umgang mit Arduino und arbeite mich durch die Beispiele des Franzis Lernpaketes.

Allerdings stolper ich im Moment bei dem Serial.read befehl. Klar ist das ich durch Eingaben im Terminal mit meinem Programm interagieren kann.

Folgendes Beispiel wird im Buch abgebildet:
Code:
//Arduino Serial Read

#define INLENGTH 20
#define INTERMINATOR 13

char inString[INLENGTH+1];
int inCount;


void setup() {

Serial.begin(9600);
Serial.println("Arduino Serial read");
Serial.println();
Serial.println("Geben Sie einen Text mit maximal 20 Zeichen ein: ");
}

void loop() {
  
inCount=0;

do
{
  while (Serial.available()==0);
  inString[inCount]=Serial.read();
  if(inString[inCount]==INTERMINATOR) break;
}while(++inCount<INLENGTH);

inString[inCount]=0;
Serial.print(inString);


}

Dies ist ein "simples" Echo-Programm welches lediglich meine eingaben im Terminal wieder ausgibt.

Was ich hierbei allerdings nicht verstanden habe:
  • Der Wert "20" bei INLENGTH hat anscheinend keine Wirkung.
  • Die "13" bei INTERMINATOR auch nicht.
  • Wozu "INLENGTH+1?

Wenn ich im Terminal einen Satz mit mehr als 20 Zeichen eingebe wird dieser ohne Probleme wieder ausgegeben.

Lieben Gruß,
E.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.01.2016, 23:01
Beitrag #2
RE: Anfängerfrage zu Serial.read
(16.01.2016 22:40)Erazor schrieb:  Hallo.
Ich lerne derzeit den Umgang mit Arduino und arbeite mich durch die Beispiele des Franzis Lernpaketes.

Allerdings stolper ich im Moment bei dem Serial.read befehl. Klar ist das ich durch Eingaben im Terminal mit meinem Programm interagieren kann.

Folgendes Beispiel wird im Buch abgebildet:
Code:
//Arduino Serial Read

#define INLENGTH 20
#define INTERMINATOR 13

char inString[INLENGTH+1];
int inCount;


void setup() {

Serial.begin(9600);
Serial.println("Arduino Serial read");
Serial.println();
Serial.println("Geben Sie einen Text mit maximal 20 Zeichen ein: ");
}

void loop() {
  
inCount=0;

do
{
  while (Serial.available()==0);
  inString[inCount]=Serial.read();
  if(inString[inCount]==INTERMINATOR) break;
}while(++inCount<INLENGTH);

inString[inCount]=0;
Serial.print(inString);


}

Dies ist ein "simples" Echo-Programm welches lediglich meine eingaben im Terminal wieder ausgibt.

Was ich hierbei allerdings nicht verstanden habe:
  • Der Wert "20" bei INLENGTH hat anscheinend keine Wirkung.
  • Die "13" bei INTERMINATOR auch nicht.
  • Wozu "INLENGTH+1?

Wenn ich im Terminal einen Satz mit mehr als 20 Zeichen eingebe wird dieser ohne Probleme wieder ausgegeben.

Lieben Gruß,
E.



mal so versuchen
#define INTERMINATOR '\n' // bill gates hat nicht überall das sagen (zum glück)
...
}while((++inCount)<INLENGTH); //vorrangregeln

Wozu "INLENGTH+1? // wegen der Nullterminierung
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Ausgabe Serial Monitor zu viele Byt`s Hannes 0 97 12.11.2016 20:29
Letzter Beitrag: Hannes
  Speicher sparen bei serial.print?? DL1AKP 3 194 02.09.2016 13:32
Letzter Beitrag: hotsystems
  Serial Monitor ASCII 1 schreiben BennIY 11 580 01.08.2016 16:42
Letzter Beitrag: Mathias
  Serial.write Mathias 6 384 29.07.2016 17:06
Letzter Beitrag: Mathias
  Serial Monitor Rudi 5 631 02.06.2016 11:37
Letzter Beitrag: Bitklopfer
  Serial.printeln, Stellen verschwinden Mathias 6 257 27.05.2016 17:44
Letzter Beitrag: Mathias
  Kommunikation Serial Monitor --> Arduino BennIY 7 354 24.05.2016 07:48
Letzter Beitrag: hotsystems
  Serial Monitor Eingabe über Code Maxi290997 4 521 12.05.2016 18:57
Letzter Beitrag: SkobyMobil
  Software serial umschaltzeit BennIY 3 383 13.03.2016 18:51
Letzter Beitrag: hotsystems
  Frage zu Serial SMoTH 3 463 09.03.2016 18:13
Letzter Beitrag: SMoTH

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste