Harstad schrieb:
> Deswegen meine Frage: wie groß dürfen Sende- und Empfangs-FIFO bei
> CDC-Devices laut Spezifikation maximal sein?
Da ist nix spezifiziert. Die kannste so groß machen wie Du möchtest.
Man kann sich aber schön in den Fuß schiessen, wenn man Transaktionen
mit ganzzahligen Vielfachen von maxPacketSize (Full Speed = 64 Byte)
anstößt. Die müssen nämlich mit einem Zero Packet abgeschlossen werden,
sonst "hängt" die Transaktion im Host.
Mit anderen Worten: Die CDC Daten werden genau dann an die Anwendung
durchgereicht, wenn ein USB Paket < 64 Byte übertragen wurde.
Die Ausname (Anwendung fragt genau 64*x Bytes an) spielt bei CDC keine
Rolle, da IMHO usbser.sys einen eigenen kleinen FIFO aufmacht - deren
Größe man nicht beeinflussen kann.
Diese Signalisierung "Ende der Transaktion" via Zero Packet fehlt bei
den meisten CDC Implementierungen völlig, da bei "echtem" UART Input
schon die 64 Bytes nicht am Stück anfallen würden.