Forum: Mikrocontroller und Digitale Elektronik Fehler: stray '\342'


von heike (Gast)


Lesenswert?

Hallo alle zusammen.
Vorab bin eine Anfängerin und habe mich mit dem ky 037 bei diesem Code 
versucht:

....//alle Var. wurden definiert
hal=digitalRead(2);
Serial.println(hal);

if (hal ==HIGH ){
  //nr 1
 srt= 0;
srt=millis();
Serial.println("1");

if ( hal == HIGH){
  //nr 2
  Serial.println("2");

if ( str>1000 && str< 2000){
  //nr 3
   grt= 0;
  grt=millis();
  Serial.println("3");

  if ( hal == HIGH&& grt< 1000){
    //nr 4
    Serial.println("4 fertig!");
   }
  }
 }
}
 srt= 0;
 grt= 0;
else{
  digitalWrite(led,LOW);}

}

Aber bei der letzten if- Schleife erscheint eine Fehleranzeige die 
lautet:

______________________________________________________________________

soundsenor:33: error: stray '\342' in program

 if ( str>1000 && str< 2000){

 ^

soundsenor:33: error: stray '\200' in program

soundsenor:33: error: stray '\211' in program

soundsenor:39: error: stray '\342' in program

   if ( hal == HIGH&& grt< 1000){

   ^

soundsenor:39: error: stray '\200' in program

soundsenor:39: error: stray '\211' in program

C:\Users\xobtaeb\Downloads\soundsenor\soundsenor.ino: In function 'void 
loop()':

soundsenor:33: error: 'str' was not declared in this scope

 if ( str>1000 && str< 2000){

      ^

C:\Users\xobtaeb\Downloads\soundsenor\soundsenor.ino: At global scope:

soundsenor:46: error: 'srt' does not name a type

  srt= 0;

  ^

soundsenor:47: error: 'grt' does not name a type

  grt= 0;

  ^

soundsenor:48: error: expected unqualified-id before 'else'

 else{

 ^

soundsenor:51: error: expected declaration before '}' token

 }

 ^

exit status 1
stray '\342' in program
______________________________________________________________________ 
__

Ich kann aber nicht den Fehler finden.
Ich wäre froh ein paar schlaue Tipps von denen, welchen der Fehler 
direkt ins Auge gesprungen ist, zu bekommen.
LG Heike

von c.m. (Gast)


Lesenswert?

1
soundsenor:33: error: stray '\342' in program
2
3
 if ( str>1000 && str< 2000){

da scheinen sonderzeichen reingerutscht zu sein.
verwendest du einen "externen editor"? zeichensatz?

von heike (Gast)


Lesenswert?

Verstehe ich nicht.
Im Sketch steht es doch richtig?!

von c.m. (Gast)


Lesenswert?

was du "im sketch" siehst muss nicht das sein das der compiler auf der 
kommandozeile sieht.
nochmal: zeichensatz.
https://www.google.de/search?q=c+stray+\342

von g457 (Gast)


Lesenswert?

> Im Sketch steht es doch richtig?!

Nein. Löschen, neu eintippen, das nächste mal nicht 
copy-paste-programmieren.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Das Leerzeichen zwischen dem zwischen "<" und "2000" ist ein "schmales"
Leerzeichen (Unicode U+2009), auch wenn man das in einem Editor mit
Monospace-Schrift nicht erkennen kann. Lösche es einfach und tippe
stattdessen ein normales Leerezeichen ein (oder lass es komplett weg)..

Das gleiche Problem taucht ein paar Zeilen später noch einmal auf.

Die Frage ist natürlich, wie du es geschafft hast, dieses Zeichen
einzugeben. Hast du den Code vielleicht von einer Webseite per
Copy/Paste übernommen? Bei schlecht formatiertem HTML passieren mitunter
solche Dinge.

von heike (Gast)


Lesenswert?

Ohh ja vieelen dank.
Habe, daher dass ich keine kleinerals-,größerals-Zeichen auf meiner 
PC-Tastatur habe, diese immer von Wiki kopiert ;D.
LG Heike

von Yalu X. (yalu) (Moderator)


Lesenswert?

heike schrieb:
> Habe, daher dass ich keine kleinerals-,größerals-Zeichen auf meiner
> PC-Tastatur habe, diese immer von Wiki kopiert ;D.

Was ist denn das für eine spartanische Tastatur? :)

von Jim M. (turboj)


Lesenswert?

Yalu X. schrieb:
> heike schrieb:
>> Habe, daher dass ich keine kleinerals-,größerals-Zeichen auf meiner
>> PC-Tastatur habe, diese immer von Wiki kopiert ;D.
>
> Was ist denn das für eine spartanische Tastatur? :)

Die Taste fehlt wenn man ein amerikanisches 104-Tasten Keyboard mit DE 
Belegung versucht zu benutzen.  Deutsche Tastatur hat 105 Tasten.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Oh, es gibt auch "deutsche" Tastaturen, die mechanisch auf dem 
US-Layout* aufbauen, aber deutsche Beschriftungen (QWERTZ und Umlaute) 
tragen. Irgendeine Chaotenbude hat mal versucht, Notebooks mit solchen 
Tastaturen zu verkaufen.

Mechanisch gibt es zwei Tastaturlayouts, das US-Layout und das 
internationale**. Letzteres hat eben eine Taste mehr

*) breite linke Shift-Taste, einzeilige Enter-Taste, zehn Tasten 
zwischen den Shift-Tasten

**) schmale linke Shift-Taste, zweizeilige Enter-Taste, elf Tasten 
zwischen den Shift-Tasten

von heike (Gast)


Lesenswert?

Breite linke Shift Taste ;D

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.