Puffergröße einer seriellen Verbindung

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
SBond
Beiträge: 266
Registriert: 22.05.2013 20:35
Computerausstattung: armseliger Laptop, mit wenig RAM und noch weniger CPU-Leistung. ...und die Grafikkarte.... ....naja.. da male ich doch lieber selber.
Wohnort: nahe Wolfsburg

Puffergröße einer seriellen Verbindung

Beitrag von SBond »

Hi Leute,

Ich habe folgendes Problem: Ich empfange über ein COM-Port Daten, die ich auswerte. Nun möchte ich gerne zyklisch prüfen, ob ein Bufferoverflow stattgefunden hat. Nun gibt es ja die Möglichkeit über "SerialPortError(#SerialPort)" den Fehler abzufangen, aber es wird kein Bufferoverflow-Fehler registriert, obwohl es passiert.

Ich habe immer wieder festgestellt, dass der Eingangspuffer eine max. größe von 12328 Bytes hat. Mehr Bytes werden scheinbar nicht mehr gespeichert. Dieser Wert scheint irgendwie von Windows zu kommen, lässt sich aber nicht im Geräte-Manager beeinflussen.

weiß jemand, wie sich dieser Wert zusammensetzt.... oder wo man diesen einstellen kann?
...oder wo man diesen Wert auslesen kann (wäre mir am wichtigsten)

Gruß
SBond
41 6c 73 6f 20 77 65 6e 6e 20 64 75 20 73 6f 20 76 69 65 6c 20 4c 61 6e 67 65 77 65 69 6c 65 20 68 61 73 74 2c 20 64 61 6e 6e 20 6b 61 6e 6e 73 74 20 64 75 20 61 75 63 68 20 67 6c 65 69 63 68 20 7a 75 20 6d 69 72 20 6b 6f 6d 6d 65 6e 20 75 6e 64 20 61 62 77 61 73 63 68 65 6e 2e

:D
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Puffergröße einer seriellen Verbindung

Beitrag von NicTheQuick »

Die Puffergröße kann man direkt bei 'OpenSerialPort()' angeben. Aber ich habe leider noch keine Erfahrung mit Überläufen. Bisher habe ich immer geschaut, dass die nicht auftreten und war erfolgreich damit. ;)
Bild
SBond
Beiträge: 266
Registriert: 22.05.2013 20:35
Computerausstattung: armseliger Laptop, mit wenig RAM und noch weniger CPU-Leistung. ...und die Grafikkarte.... ....naja.. da male ich doch lieber selber.
Wohnort: nahe Wolfsburg

Re: Puffergröße einer seriellen Verbindung

Beitrag von SBond »

tja... ähhh...

klappt nicht. :mrgreen:

Beim Eingangspuffer und Ausgangspuffer kann ich eingeben was ich will. Egal ob ich 10 Bytes oder 1.000.000 Bytes einstelle, es habe immer einen Überlauf bei 12.382 Bytes. Einen Felher gibt SerialPortError() auch nicht aus. Die Wahrscheinlichkeit, dass es überläuft, ist gering. Aber ich muss sicherstellen, dass die Daten die ich in einem bestimmten Zeitraum aufnehme konsistent bleiben.

Ich Frage mich wo diese Puffergrenze definiert wird. 8192 oder 4096 hätte ich ja noch irgendwo verstanden, aber 12382 ?
...seltsam seltsam
41 6c 73 6f 20 77 65 6e 6e 20 64 75 20 73 6f 20 76 69 65 6c 20 4c 61 6e 67 65 77 65 69 6c 65 20 68 61 73 74 2c 20 64 61 6e 6e 20 6b 61 6e 6e 73 74 20 64 75 20 61 75 63 68 20 67 6c 65 69 63 68 20 7a 75 20 6d 69 72 20 6b 6f 6d 6d 65 6e 20 75 6e 64 20 61 62 77 61 73 63 68 65 6e 2e

:D
Antworten