ich habe ein Programm geschrieben mit dem der Arduino Daten von einem DDC ausliest. Zu jedem Eingangssignal soll der Arduino auch einen Wert ausgeben.
Dazu ist die Serielle Schnittstelle über USB aber zu langsam.
Bei 100000 Werten werden nur ca. 50000 Werte.
Kann man die Übertragung bzw die Ausgabe verschnellern?
Bzw würde jemand eine andere Option einfallen. Oder wäre eine Ausgabe über eine andere Schnittstelle schneller?
ref110:
Würde eine andere Baudrate etwas verändern?
Ja, natürlich:
Bei doppelter Baudrate überträgst Du doppelt so viele Daten pro Sekunde.
Bei vierfacher Baudrate überträgst Du viermal so viele Daten pro Sekunde.
Bei zehnfacher Baudrate überträgst Du zehnmal so viele Daten pro Sekunde.
Sowohl Sender als auch Empfänger müssen mit der Datenrate klarkommen.
Und: Je höher die Baudrate, desto geringer wird die nutzbare Kabellänge/Entfernung in Metern, die Du problemlos überbrücken kannst.
Werden die Zahlen als Text (ASCII) oder binär übertragen?
100'000 Werte pro Minute? Bei 9600 Baud kannst Du nicht ganz 1 kB pro Sekunde übertragen. Wenn Deine Werte binär übertragen werden (im Idealfall also 3 Bytes pro Wert), dann brauchst Du für die 50'000 Werte, die bisher gingen, fast 3 Minuten, bei ASCII-Übertragung gegen 5 Minuten (gemittelt).
Selbst wenn Du die Baudrate auf 115'200 hochschraubst, bringst Du die 100'000 Werte nicht in einer Sekunde rüber (falls das denn gewünscht sein sollte).
Ich nehme als Baudrate normalerweise 115200. Das ist bei mir bisher immer stabil und ausreichend schnell. Wenn das nicht reicht wäre es noch denkbar für die Übertragung zu komprimieren. Das erfordert aber schon ein paar Programmierkenntnisse. Bevor Du damit anfängst solltest Du so wie schon von anderen Vorgeschlagen erst einmal auf binäre Übertragung wechseln.