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
  Array mit Serial.read befüllen Gonmaus 4 336 01.05.2017 09:13
Letzter Beitrag: Gonmaus
  serial monitor, Ausgabe übereinander möglich?? silversurfer123 4 232 18.04.2017 19:19
Letzter Beitrag: silversurfer123
  Interrupt und Software Serial BennIY 6 386 29.03.2017 22:25
Letzter Beitrag: BennIY
  RGB Animation über Serial Steuern Medolino 5 294 20.02.2017 16:14
Letzter Beitrag: Medolino
  Serial Output Buffer abfragen BennIY 5 402 05.01.2017 18:51
Letzter Beitrag: Tommy56
  Korrekte serial.print Befehlszeile Franz54 16 1.040 22.12.2016 18:37
Letzter Beitrag: renid55
  Arduino IDE Serial Plotter futsch? SensorX10 2 459 13.12.2016 13:42
Letzter Beitrag: SensorX10
  Ausgabe Serial Monitor zu viele Byt`s Hannes 0 289 12.11.2016 20:29
Letzter Beitrag: Hannes
  Speicher sparen bei serial.print?? DL1AKP 3 463 02.09.2016 13:32
Letzter Beitrag: hotsystems
  Serial Monitor ASCII 1 schreiben BennIY 11 996 01.08.2016 16:42
Letzter Beitrag: Mathias

Gehe zu:


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