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
  Wartet Serial.begin() auf COM-Port? tollewurst 4 224 Gestern 09:50
Letzter Beitrag: rkuehle
  Anfängerfrage - wie die Befehle aus den Libaries in die IDE einbauen ? Stargazer 1 252 30.07.2017 22:11
Letzter Beitrag: Tommy56
  Serial.write fraju 5 718 23.07.2017 21:57
Letzter Beitrag: Mathias
  Array mit Serial.read befüllen Gonmaus 4 420 01.05.2017 09:13
Letzter Beitrag: Gonmaus
  serial monitor, Ausgabe übereinander möglich?? silversurfer123 4 299 18.04.2017 19:19
Letzter Beitrag: silversurfer123
  Interrupt und Software Serial BennIY 6 490 29.03.2017 22:25
Letzter Beitrag: BennIY
  RGB Animation über Serial Steuern Medolino 5 422 20.02.2017 16:14
Letzter Beitrag: Medolino
  Serial Output Buffer abfragen BennIY 5 472 05.01.2017 18:51
Letzter Beitrag: Tommy56
  Korrekte serial.print Befehlszeile Franz54 16 1.204 22.12.2016 18:37
Letzter Beitrag: renid55
  Arduino IDE Serial Plotter futsch? SensorX10 2 554 13.12.2016 13:42
Letzter Beitrag: SensorX10

Gehe zu:


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