Forum: Mikrocontroller und Digitale Elektronik serieller Monitor/ Plotter spinnt


von Wing (Gast)


Lesenswert?

Moin,

hatte jemand von euch schon mal Probleme mit dem seriellen Monitor bzw. 
Plotter?
Bei vielen meiner Programme steigt der Arduino aus, sobald den Monitor 
bzw. Plotter starten möchte. Hat jemand eine Ahnung warum?
Ganz einfacher Beispielcode:
1
    float a = -5;
2
    int val=0;
3
   
4
    
5
    void setup()
6
    {
7
    Serial.begin(9600);
8
    pinMode(8, OUTPUT);
9
    digitalWrite(8, HIGH);
10
    
11
    }
12
     
13
    void loop()
14
    {
15
         if (Serial.available() >0) {
16
17
    /* whatever is available from the serial is read here    */
18
    val = Serial.read();
19
    
20
    {
21
      
22
      if(val==20)
23
      {
24
        for(int i = 0; i <=200000; i++)
25
        {
26
        Serial.println(a);
27
        }
28
      }
29
    }
30
  }
31
}

von Sebastian R. (sebastian_r569)


Lesenswert?

Wing schrieb:
> Bei vielen meiner Programme steigt der Arduino aus,

Wie definierst du denn "aussteigen"?

von Wing (Gast)


Lesenswert?

Der Arduino stellt seine Arbeit ein.

von User (Gast)


Lesenswert?

Bei der Formatierung würde ich auch austeigen...
Schau dir mal die Klammer-Ebenen an.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Wing schrieb:
> Der Arduino stellt seine Arbeit ein.

Woran erkennst du das? Braucht er plötzlich keinen Strom mehr?

Oder wird mangels eines (passenden) empfangenen Bytes einfach nur nichts
ausgegeben? Das heißt aber nicht, dass der Arduino die Arbeit einstellt.

von Wing (Gast)


Lesenswert?

Er springt aus seiner Loop raus.
Normalerweise müsste ja bei diesem Programm, sobald der Arduino den Wert 
20 erhält, 200000mal -5 geplottet werden... das hat er auch mal gemacht, 
aber macht er seit 2h nicht mehr.
Bei einem anderen Programm, bei der ich eine SPI nutze, um Werte 
auszulesen und dieses quasi in Dauerschleife läuft, stellt er ebenfalls 
den Auslesebetrieb sofort ein.

von Route_66 H. (route_66)


Lesenswert?

Wing schrieb:
> 200000mal -5 geplottet werden...

Im Zahlenformat INT kann er nicht bis 200000 zählen.

von Wing (Gast)


Lesenswert?

> Im Zahlenformat INT kann er nicht bis 200000 zählen.

Ja gut, da hast du recht... aber trotzdem müsste er ja hochzählen.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Füge doch mal print-Ausgaben hinter

1
         if (Serial.available() >0) {

und

1
    val = Serial.read();

ein, um zu sehen, ob und wenn ja, welche Werte gelesen werden.

von Chris M. (chris_appment)


Lesenswert?

Oder mach mal nen Mini-Delay in deine for-Schleife. Evtl. sind 20k 
Plotte auf einmal etwas viel für den Monitor

von Christian M. (Gast)


Lesenswert?

Wing schrieb:
> steigt der Arduino aus, sobald den Monitor bzw. Plotter starten möchte.

Vielleicht hat der TO auch ein Problem mit dem dabei auftretenden 
Reset!?

Gruss Chregu

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.