-
        

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: Arduino Serielle Schnittstelle mit Processing verzögert

  1. #11
    Unregistriert
    Gast
    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    ist alles völlig irrelevant für die ursprüngliche Frage zu Arduino Serial (Sketch / Wiring) und Processing und die gegebenen Lösungsvorschläge.

  2. #12
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    48
    Beiträge
    2.359
    Zitat Zitat von Unregistriert Beitrag anzeigen
    tatsächlich reden wir hier über die Arduino Serial Class und den Arduino UART pins mit nur 2 Kabeln, nämlich TX und RX (und GND), und da brauchen wir uns ja gottseidank um start, stop und parity keine Gedanken zu machen
    Also Transmit, Receive und Ground sind bei mir 3 Adern. Was ja die minimalistichste, serielle, bidirektionale, vollduplex Verbindung ist.
    die Anzahl der Verbindungen haben nichts mit Parity, Start und Stopbits zu tun. nur ob man Hardware- oder Software Handshake zur Verfügung hat.
    Bei 3-Draht hat man eh nur Xon-Xoff.
    Aber je nach Gegenseite muß man sich über Parity, Sart-, Stopbits und Baudrate doch Gedanken machen.

    Zitat Zitat von Unregistriert Beitrag anzeigen
    ist alles völlig irrelevant für die ursprüngliche Frage zu Arduino Serial (Sketch / Wiring) und Processing und die gegebenen Lösungsvorschläge.
    Na ja,
    Jemand hat ein Problem mit serieller Kommunikation und weis nichts oder nur sehr wenig darüber.
    Entweder man kaut dem jenigen eine fertige Lösung vor, oder man gibt auch ein paar Infos damit derjenige sich Weiterbilden kann. Klar die die es wissen können auch einfach nichts sagen, aber statt kostenfreiem Forum bleibt dann für die unwissenden nur noch ein kostenpflichtiger Support übrig. Oder an Schulungen teilzunehmen.

    Einfach mal drüber nachdenken anstelle sich hinter "unregistriert" zu verstecken und Außerungen abzugeben die auch nichts zum Thema beitragen.
    Trolle gibts schon genug.
    Geändert von i_make_it (22.01.2017 um 16:23 Uhr)

  3. #13
    Unregistriert
    Gast
    jein, 2 Datenleitungen und 1 GND - gut, ich schrieb ja 2 (TX+RX) plus GND für die gemeinsame Potentialbasis, also zähl GND meinetwegen mit.
    Jedenfalls hat das nichts mit den 9 oder 25 pins bei seriellen Verbindungen zu tun und auch nichts mit den blinkenden LEDs und Breakout Box zu tun.

    Das Problem vom Fragesteller ging auch nicht um start stop und paritiy bits, sondern um ein Programm zwischen Arduino Serial und Processing auf dem Computer.
    Auch das hat nichts mit der seriellen Schnittstelle zu tun, denn die läuft bei Arduino über ein USB-Kabel (!) zum PC und seinem virtuellen COM-Port und auch hier brauchen wir uns über start, stop und parity keine Gedanken zu machen.
    Natürlich gibt es so etwas auch hier und es muss auch funktionieren, aber darum muss sich der Benutzer bei Arduino und der USB-Verbindung nicht kümmern und es wäre eher schädlich, wenn er hier als Anfänger an irgend welchen Voreinstellungen herum"spielt", denn es ist ja alles auf einander eingestellt (auch Wiring / Arduino IDE / Sketch basiert ja auf Processing und dessen Standard-Einstellungen).
    All das mit den 9 oder 25 Pins und blinkenden LEDs und start und stop und parity ist also absolut nicht zielführend und eher verwirrend!

    Zielführend war hingegen mein (!) Vorschlag, die baud-Rate zu ändern - ursprünglich unter der Vorstellung, der Flaschenhals wäre Arduino-seitig, tatsächlich war er aber ja wohl eher Processing-, also PC-seitig, und lag/liegt wahrscheinlich an der hier darunter bzw. dazwischen liegenden relativ langsamen Java-VM.

  4. #14
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    48
    Beiträge
    2.359
    Bei der Verdrahtung gibt es keine meintewegend GND mal mitzählen oder auch nicht.
    Trenn mal GND auf und dann kommt eine Station an ein Netzteil mit Erdung und eins befindet sich in Schwebe ohne GND ist es da eher Zufall wenn was richtiges ankommt.
    Dann müsste man mit diferentiellen Signalen ohne Bezugspotential arbeiten. Da hätte man dann für TX und RX aber 4 Leitungen.
    Hat aber auch nichts mit dem Protokoll zu tun.
    Hilft aber es zu wissen, bei bestimmten Problemen.

    Die Indikator LEDs sind hilfreich wenn man keinen Logikanalyzer oder zweikanalosziloskop zur Verfügung hat.

    Das Problem das hier vorliegt, ist genau das man sich um nichts kümmern muß und damit auch aufhört sich darüber Gedanken zu machen.
    Es gibt einen Prozess der Daten leifert, einen Prozess der Daten sendet, einen Prozess der Daten empfängt und einen der Sie verarbeitet.

    Nimmt man einfach mal im Gedankenmodell vier durchsichtige Schlauchstücke mit verschiedenen Durchmessern die man mit Adaptern untereinender hängt und gießt oben Wasser ein, merkt man sofort das man oberhalb eines Engpasses einen Überlauf bekommt.
    Nimmt man jetzt anstelle von Wasser farbigen Sand, und jede Farbe stellt ein Byte dar, dann stellt man noch fest das einzelne Bytes beim Überlauf verloren gehen.
    Man also nicht weis ob der Sendepuffer überhaupt eine Bytefolge enthält die ein zusammengehöriges Datagramm bilden oder nur Datenmüll aus zwei, drei oder mehr Datagrammen des liefernden Prozesses.
    Oder halt der Empfangspuffer wenn man Leitngsstörungen hat und sich nicht um Kontrollmechnismen gekümmert hat (Parity auf Bitebene, Modulo 11 auf Byteebene etc.)

    Einfach nur sagen dreh die Baudrate runter, ist ein erster Ansatz der eine direkten erfolg bringen kann, aber ohne das grundlegende Verständniss beim TE wie die Zusammenhänge sind und wie das ganze funktioniert, wird der TE immer nur murks zusammenbasteln der scheinbar oder temporär, zufällig funktioniert in Wahrheit aber ein unendlicher Quell für Fehler sein wird.
    Und eine Möglichkeit ist zum beispiel nicht nur TX und RX zu nutzen sondern das ein langsamer Zielprozess ein TRS oder CTS signalisiert. Damit werdne dann Überläufe beim Sendepuffer vermieden und man braucht kein NOP (delay) das bei veränderungen am Programmablauf plötzlich nicht mehr passt, weil es ja nichts prüft.

    Ich habe hier grade erst ein Projekt für einen Energieversorger abgeschlossen wo es um nichts anders ging als zu prüfen ob unter allen Bedingunen, von Schutzgeräten wirklich die korrekten Daten in der Leitwarte ankommen.
    Da waren auch jungdynamische Softwareentwickler am werke, die so Basics mal schnell im Grundstudium durchgewunken haben.
    Nur bei einer Kaskadenabschaltung quer durch Europa sind die Folgen halt etwas anders wie bei unseren Hobbyprojekten.
    Schlimm wird es nur wenn da dann Leute dabei sind die, genau weil bei ihnen privat so zusammenklick und fertig Projekte bisher noch keine größeren Auswirkungen hatten, denken so kann man auch bei einer kritischen Infrastruktur arbeiten.
    Schlimm ist hier gewesen, das ich mit Realschulabschluß aber halt vor der Klickmich Ära gelernt, einem Doktor der Informatik so was erklären muß.

    Hier wäre es jetzt vermutlich egal, aber wen nder TE für sich was lernen will und sich verbessern will, gereicht es Ihm nicht zum Nachteil wenn er ein mehr an Informationen erhällt.
    Auch wenn es einige KISS verfechter gibt, zeigt mir mein Berufsaltag, daß das mit deutlicher Mehrheit schief geht.
    Bei der Implementierung sollte am ende natürlich KISS unter dem Gesichtspunkt der Performance und der Wartbarkeit rauskommen. Aber halt nicht beim Gedanken darüber machen ob man alle Eventualitäten abdeckt die das gewünschte Ergebniss verhindern können.
    (Meteoreinschläge oder andere eher unwarscheinlichen Worst Case Szenarien mal außen vor gelassen, da ich nicht denke das hier im Forum jemand eine HA Umgebung auf höchstem Niveau fürs Hobby entwickelt)
    Geändert von i_make_it (23.01.2017 um 12:19 Uhr)

  5. #15
    Unregistriert
    Gast
    ich bezweifle ernsthaft, dass dem Fragesteller hier bei seinem Problem mit Logic Analysern, 25 blinkenden LEDs, Breakoutboards, Oszis, start, stop und parity bits oder farbigem Sand geholfen worden ist oder wäre. Zum Verständnis allerdings ist es schon wichtig zu verstehen, wo es mit der seriellen Arduino-USB-PC-Processing- Kette zu Problemen kommen kann, und da war der erste Test(mehr war es ja nicht) der zielführende Hinweis, und wo der Flaschenhals jetzt zu suchen ist, ist ja inzwischen auch klar, inkl. Abhilfevorschlägen wie baud-rate runterregeln und Datenrate Arduino-seitig runterzufahren. Aber ok, wer es jetzt mit Logic Analysern, 25 blinkenden LEDs, Breakoutboards, Oszis, start, stop und parity bits oder farbigem Sand probieren will, gern, bleibt natürlich dem original-Fragesteller überlassen

  6. #16
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    59
    Beiträge
    2.276
    Zitat Zitat von i_make_it Beitrag anzeigen
    Ich habe hier grade erst ein Projekt für einen Energieversorger abgeschlossen wo es um nichts anders ging als zu prüfen ob unter allen Bedingunen, von Schutzgeräten wirklich die korrekten Daten in der Leitwarte ankommen.
    Da waren auch jungdynamische Softwareentwickler am werke, die so Basics mal schnell im Grundstudium durchgewunken haben.
    Nur bei einer Kaskadenabschaltung quer durch Europa sind die Folgen halt etwas anders wie bei unseren Hobbyprojekten.
    Schlimm wird es nur wenn da dann Leute dabei sind die, genau weil bei ihnen privat so zusammenklick und fertig Projekte bisher noch keine größeren Auswirkungen hatten, denken so kann man auch bei einer kritischen Infrastruktur arbeiten.
    Schlimm ist hier gewesen, das ich mit Realschulabschluß aber halt vor der Klickmich Ära gelernt, einem Doktor der Informatik so was erklären muß.
    Mitte der 80er Jahre benutzte ich X.25 (Datex-P). Manchmal konnte man Wochenlang keine binären QNX-Updates aus Kanada, die Server standen damals in Ontario, herunterladen, weil irgend ein AMI-System nur auf 7-Bit Übertragung eingestellt war. Mit der damaligen PTT konnten wir genau herausfinden, welcher Server dies war. Allerdings gab es damals noch keine direkte internationale Zusammenarbeit zwischen den nationalen Betreibern und die Techniker hatten auch keine direkte Telefonnummer oder Adressen. Das musste also über den offiziellen Dienstweg, von Basel zur Direktion in Bern, dann zur Direktion in den USA und dort dann zur zuständige Zentrale mit dem falsch konfigurierten Server Entsprechend wurden natürlich auch Texte mit Umlauten verstümmelt, aber Umlaute kennen die Amis nicht, die kommen mit 7-Bit ASCII aus.

    Sowas war auch die Ursache für SASSER. Da wurde einfach nicht geprüft ob die MSG auch in den Puffer passt! Ethernet kann Datenblöcke bis 64KB versenden, bei dem MS-Protokoll waren maximal 4KB vorgesehen.

    Manche haben auch einfach ein Brett vor dem Kopf! Ich hatte mal einen riesen Streit, der Typ konnte keinen Unterschied zwischen folgendem Code erkennen
    Code:
    10 INPUT "Alles Löschen?", A$
    20 IF A$="N" THEN GOTO 40
    30 REM Code für Löschen
    40 REM Weiter im Programm
    Code:
    10 INPUT "Alles Löschen?", A$
    20 IF A$="J" THEN GOTO 40
    30 GOTO 50
    40 REM Code für Löschen
    50 REM Weiter im Programm
    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  7. #17
    Unregistriert
    Gast
    Zitat Zitat von i_make_it Beitrag anzeigen
    Ich habe hier grade erst ein Projekt für einen Energieversorger abgeschlossen wo es um nichts anders ging als zu prüfen ob unter allen Bedingunen, von Schutzgeräten wirklich die korrekten Daten in der Leitwarte ankommen.
    Da waren auch jungdynamische Softwareentwickler am werke, die so Basics mal schnell im Grundstudium durchgewunken haben.
    Nur bei einer Kaskadenabschaltung quer durch Europa sind die Folgen halt etwas anders wie bei unseren Hobbyprojekten.
    Schlimm wird es nur wenn da dann Leute dabei sind die, genau weil bei ihnen privat so zusammenklick und fertig Projekte bisher noch keine größeren Auswirkungen hatten, denken so kann man auch bei einer kritischen Infrastruktur arbeiten.
    Schlimm ist hier gewesen, das ich mit Realschulabschluß aber halt vor der Klickmich Ära gelernt, einem Doktor der Informatik so was erklären muß.
    Mitte der 80er Jahre benutzte ich X.25 (Datex-P). Manchmal konnte man Wochenlang keine binären QNX-Updates aus Kanada, die Server standen damals in Ontario, herunterladen, weil irgend ein AMI-System nur auf 7-Bit Übertragung eingestellt war. Mit der damaligen PTT konnten wir genau herausfinden, welcher Server dies war. Allerdings gab es damals noch keine direkte internationale Zusammenarbeit zwischen den nationalen Betreibern und die Techniker hatten auch keine direkte Telefonnummer oder Adressen. Das musste also über den offiziellen Dienstweg, von Basel zur Direktion in Bern, dann zur Direktion in den USA und dort dann zur zuständige Zentrale mit dem falsch konfigurierten Server Entsprechend wurden natürlich auch Texte mit Umlauten verstümmelt, aber Umlaute kennen die Amis nicht, die kommen mit 7-Bit ASCII aus.

    Sowas war auch die Ursache für SASSER. Da wurde einfach nicht geprüft ob die MSG auch in den Puffer passt! Ethernet kann Datenblöcke bis 64KB versenden, bei dem MS-Protokoll waren maximal 4KB vorgesehen.

    Manche haben auch einfach ein Brett vor dem Kopf! Ich hatte mal einen riesen Streit, der Typ konnte keinen Unterschied zwischen folgendem Code erkennen
    Code:

    10 INPUT "Alles Löschen?", A$
    20 IF A$="N" THEN GOTO 40
    30 REM Code für Löschen
    40 REM Weiter im Programm

    Code:

    10 INPUT "Alles Löschen?", A$
    20 IF A$="J" THEN GOTO 40
    30 GOTO 50
    40 REM Code für Löschen
    50 REM Weiter im Programm

    MfG Peter(TOO)
    peter-too:
    falscher Post zum falschen Thema im falschen Unterforum im falschen Jahr?
    Wir befinden uns hier beim Thema "Arduino Serielle Schnittstelle mit Processing verzögert" im Arduino-Unterforum vom Roboternetz-Forum im Jahr 2017.
    Bitte check doch mal deine Raum-Zeit-Maschine und stell sie notfalls um.

  8. #18
    Erfahrener Benutzer Roboter Genie Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    69
    Beiträge
    1.329
    eine bitte an den threadstarter:

    bitte schiessen / beenden!
    gruß inka

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.12.2010
    Beiträge
    132
    Viel mehr sollte man Unregistered Accounts verbieten in solchen Bereichen schreiben zu dürfen, man merkt einfach das sich manche auf andere eingeschossen haben und nur stänkern wollen......

    cYa

  10. #20
    Hallo Leute
    es hat mittlerweile funktioniert, einfach eine kleinere Geschwindigkeit gewählt (2400 Baud)
    vielen Dank an alle Helfenden
    RoboterSindCool

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Button Arduino Processing (GUI)
    Von paper im Forum Open Source Software Projekte
    Antworten: 0
    Letzter Beitrag: 22.11.2012, 19:38
  2. 5v serielle schnittstelle und ISP
    Von Roboman93 im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 11.06.2008, 19:58
  3. serielle schnittstelle
    Von Roboman93 im Forum Robby RP6
    Antworten: 11
    Letzter Beitrag: 15.04.2008, 19:48
  4. Serielle Schnittstelle
    Von pacer_one im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 08.01.2008, 18:33
  5. Serielle Schnittstelle
    Von suggle im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 24.01.2006, 14:34

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •