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
serielle Datenübertragung
16.09.2014, 17:25
Beitrag #1
serielle Datenübertragung
Hallo,
ich möchte Schrittmotoren seriell ansteuern. Mit dem folgenden Sketch und dem seriellen Monitor habe ich die Übertragung getestet:
Code:
int zaehler =0;
void setup() {
  Serial.begin(9600);
}

void loop() {
  if (Serial.available()) {
    Serial.write(Serial.read());
    zaehler++;
    Serial.println(zaehler);
  }
}

Wenn ich 50 Zeichen im seriellen Monitor eingebe und an den Arduino sende, kommen auch 50 Zeichen zum seriellen Monitor zurück. Aber gebe ich z.B. 200 Einsen ein, so kommen nur 118 wieder zum seriellen Monitor zurück.
Ich habe Zeitverzögerungen eingefügt, Baudraten verändert und die Codezeile
Code:
while (!(Serial.available())){}
an verschiedenen Stellen eingefügt - ohne Erfolg.

Kann mir jemand helfen, die verlorenen Bytes zu finden?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.09.2014, 18:18
Beitrag #2
RE: serielle Datenübertragung
Hi,
ich kann mir folgendes vorstellen: Der Puffer der seriellen Schnittstelle ist 64 Byte groß. 50 Byte empfangen ist also nie ein Problem. Wenn Du jetzt allerdings mehr Zeichen schickst und zwischendurch die Schnittstelle noch zum Schreiben benutzt, dann kann ich mir vorstellen, dass der Puffer überläuft.
Versuch mal die empfangenen Daten in ein eigenes Array zu schreiben und nur Zeichen rauszuschieben, wenn gerade kein Zeichen available ist.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.09.2014, 19:54
Beitrag #3
RE: serielle Datenübertragung
vielen Dank für die schnelle Antwort,
ich habe, statt die Daten zur Kontrolle an den Monitor zurück zu schicken, für jedes ankommende Zeichen einen Schrittmotor einen Schritt laufen lassen. Der Laufweg des Motors ist viel zu kurz. Es kommen also nicht alle Daten im Arduino an.
Die Motoren sollen einen heißen Draht einer Styroporschneidemaschine bewegen. Die Daten müssen also kontinuierlich fließen.
Gruß
Thimo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.09.2014, 21:45
Beitrag #4
RE: serielle Datenübertragung
(16.09.2014 19:54)Soma schrieb:  ich habe, statt die Daten zur Kontrolle an den Monitor zurück zu schicken, für jedes ankommende Zeichen einen Schrittmotor einen Schritt laufen lassen. Der Laufweg des Motors ist viel zu kurz. Es kommen also nicht alle Daten im Arduino an.
Hast Du da vielleicht irgendwelche delays drin? Ich Tippe auch hier auf einen Pufferüberlauf.
Zitat:Die Motoren sollen einen heißen Draht einer Styroporschneidemaschine bewegen. Die Daten müssen also kontinuierlich fließen.
Warum schickst Du dann nicht einfach die Anzahl der zu machenden Schritte? Dann brauchst Du nur ein oder zwei Bytes.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Datenübertragung vom Arduino Mega 2560 zu Hterm Datatom 1 91 13.11.2016 23:08
Letzter Beitrag: hotsystems
  Serielle Schnittstelle - Daten empfangen Datatom 8 770 22.05.2016 18:10
Letzter Beitrag: avoid
  "WORT" über die serielle Schnittstelle auslesen hannes77 1 510 08.03.2016 12:13
Letzter Beitrag: Binatone
  I2c Datenübertragung diode1990 1 584 15.11.2015 22:57
Letzter Beitrag: hotsystems
  Serielle Ausgabe, Reset ? Mathias 1 591 12.11.2015 18:12
Letzter Beitrag: hotsystems
  Serielle Kommunikation arduino147147 1 663 15.10.2015 08:22
Letzter Beitrag: Binatone
  Datenübertragung per USB Arduino Due chhec 0 409 12.10.2015 10:05
Letzter Beitrag: chhec
  Serielle Kommunikation zw. zwei Arduino UNOs Marduino_UNO 2 1.101 20.08.2015 07:13
Letzter Beitrag: Marduino_UNO
  Arduino schnelle Datenübertragung mit 2Mbit/s armut 1 682 06.05.2015 17:39
Letzter Beitrag: rkuehle
  Problem mit serieller Datenübertragung olflab 4 920 06.05.2015 10:13
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


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