Ich brauche alle 2 Millisekunden in einer Schleife 3 Zeichen. Ich verwende SerialPort.Read(), aber es dauert 5 bis 6 Millisekunden, um eingehende Daten zu lesen. Gibt es einen möglichen Weg dazu? Vielen Dank.Lesen Sie serialport Daten in weniger als 2ms in C#
Antwort
Möglicherweise möchten Sie die serielle Schnittstelle in C++ nennen, https://stackoverflow.com/a/15795522/67566
Dann können Sie das von C# aufrufen, https://msdn.microsoft.com/en-us/library/ms235281.aspx
Ich erwarte, dass dies schneller sein, aber Sie werden eine langsame haben unten die in immer Daten von C++ -> C#, und Ihr Fenster von 2-3 ms ist sehr klein.
Sie können die Daten in dieser Zeit, ich erwarte, aus C++, aber Sie müssen möglicherweise Puffer, so würde ich einen Zeitstempel mit jedem Stück von Daten, und wenn Sie es aus C# aufrufen, müssen Sie möglicherweise gib mehr als ein Stück zurück und bearbeite sie dann.
In C++ DLL möchten Sie einen separaten Thread für das Lesen von der seriellen Schnittstelle haben.
Sie möchten die Klasse thread
, https://msdn.microsoft.com/en-us/library/hh920601.aspx verwenden und nach der Erstellung trennen.
Und schließlich werden Sie einen Thread sichere Warteschlange verwenden möchten, so können Sie an diesen beiden Links aussehen und welches mögen Sie besser wählen:
https://juanchopanzacpp.wordpress.com/2013/02/26/concurrent-queue-c11/
- 1. So lesen Sie vollständige Paketdaten von SerialPort in C#
- 2. Lesen Sie SerialPort in Maximale Baudrate in VB.Net
- 3. Bogus TimeoutException lesen .NETCF SerialPort
- 4. C#: SerialPort: Lese- und Schreibpuffergröße
- 5. Problem beim Lesen von Serialport Java
- 6. Wie Zeitüberschreitung in Java beim Lesen von SerialPort festlegen?
- 7. C#: Serialport-Kommunikation
- 8. Mehr Daten in Datei schreiben als lesen?
- 9. Wie die Daten in DataReceived Ereignishandler von Serialport
- 10. Wie kontinuierlich von der SerialPort zu lesen
- 11. Wie lese ich Daten aus Serialport mit JSSC in Java?
- 12. Lesen von regulärer Datei: Blockieren oder weniger Daten zurückgeben?
- 13. Lesen Sie mehr/weniger jQuery Akkordeon
- 14. Wie erhalten Sie Textzeilen gleicher Größe im Textfeld beim Lesen von Daten aus dem Serialport?
- 15. Lesen von Daten aus Dateien in C
- 16. Lesen Sie numerische Daten aus Oracle-Tabelle in C#
- 17. Binärdatei in Vektor lesen <char> weniger als vollständige Datei lesen
- 18. Java Socket lesen mehr Daten als erwartet
- 19. C# SerialPort DataReceived Problem, wenn bei angehängten Zeichenfolgen
- 20. Schlafen weniger als eine Sekunde in OCaml
- 21. Lesen von Daten aus Excel in Json-Objekt in C#
- 22. Lesen Sie Daten sequentiell in Java
- 23. Lesen Sie Dateiobjekt als Zeichenfolge in Python
- 24. Vergleichen Sie zwei Tabellen mit weniger als Operator in SQL
- 25. Drucken Sie symmetrische Matrix in weniger Iterationen als n * m
- 26. Grib-Daten in R lesen - Bandnamen lesen
- 27. Geöffneter SerialPort stürzt ab C# -Anwendung
- 28. Laufender Knoten-serialport in nw.js
- 29. C# SerialPort - Probleme beim Mischen von Ports mit unterschiedlichen Baudraten
- 30. Wie zeigen Sie Daten mit weniger als dem aktuellen Datum in yii?
Ist Looping es so schnell wie möglich? Wenn dem so ist, ist es wahrscheinlich die serielle Verbindung, die zu langsam ist, und nicht Ihr Code. – Firearrow5235
SerialPort.Read() allein dauert 5 bis 6 ms und es beginnt nicht einmal eingehende Daten zu verarbeiten. – Jardo421