Gast
#1064290
Hallo, ich kommuniziere mit einen µC über die serielle Schnittstelle. Dabei werden mehrere Datenpakte gesendet. Der relevante Codeaussschnitt sieht so aus:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Die Funktion ist damit gewährleistet und dauert ca. 15ms je Paket. ABER: Da ich ca. 10 Datenpakete schicke, Summiert sich die Kommunikationsdauer auf ca. 150ms. Mit dem Oszilloskop gemessen dauer aber ein Paket (senden/empfangen) ca. 1,6ms, also müsste optimaler weise in 16ms alles abgeschlossen sein. Flaschenhals ist die do-loop-Schleife. Würde ich sofort mit Input lesen, ist nicht sicher, dass ich meine drei Datenbytes lese. Geht das nicht schneller? Kann mir jemand sagen, warum ich so lange brauche, bis die Daten als empfangen gemeldet werden? => Zusammenfassend: 0.5ms Senden, 1ms empfangen, 14.5ms ??? (Win-intern verarbeiten ??) Gruß Timo