writeFile dauert immer unterschiedlich lang



  • Hallo zusammen,

    ich hab folgendes Problem: Und zwar hab ich ein USB Device das ich über den Windows bulkusb.inf(sys) Treiber anspreche. Funktioniert auch einwandfrei.

    Ich kann Daten per writeFile senden und mit readFile lesen. Nur hab ich jetzt das Problem, dass das erste writeFile 150ms braucht und die nächsten max. 10ms. Die 150ms bringen damit mein komplettes Programm aus dem Tritt 😞
    (Auch vor dem ersten write hab ich createFile aufgerufen und ein gültiges Handle zurückbekommen)

    Woran kann sowas liegen?

    Grüße Nils



  • Was für ein Device ist das denn? Könnte es vielleicht sein dass das Device erst irgendwie "wach werden" muss, oder vielleicht Bandbreite am Bus reserviert beim ersten Zugriff?

    Wäre es evtl. eine Möglichkeit gleich nach dem CreateFile ein WriteFile mit irgendwelchen harmlosen dummy Daten abzusetzen, so dass das erste "echte" WriteFile dann schon "normal schnell" geht?



  • Aber ist das nicht irgendwie klar, das das Empfangen unterschiedlicher Datenmengen unterschiedlich lange dauert 🙄 ?!

    hustbaer schrieb:

    Könnte es vielleicht sein dass das Device erst irgendwie "wach werden" muss, oder vielleicht Bandbreite am Bus reserviert beim ersten Zugriff?

    Hm jo das wär gut möglich aber lässt sich ja einfach testen, in dem er es mehrmals hintereinander misst und die Zeitwerte vergleicht.



  • hab jetzt beim connect eine write eingebaut. das scheint auch zu klappen. das device ist ein keil mcb2140 board, dass sich als usb Bulk Device ausgibt. Bei USB werden immer gleich viele Daten gesendet, in meinem Fall sind es 64 Byte.

    Ich denke mit dem wach werden habt ihr recht.


Anmelden zum Antworten