Gast
#1896822
Hallo, ich habe eine GUI programmiert die von meinem Controller Daten entgegen nimmt. Die Geschwindigkeit ist jedoch ernüchternd. mein Protokoll sieht so aus: µC ->Datenpaket-> PC µC <-Bestätigung<- PC also µC codiert die Daten für das Paket, schickt sie, der PC empfängt sie, nimmt das Paket auseinander, dekodiert die Daten, schreibt sie in einen Puffer und schickt dann die Bestätigung, Controller empfängt diese und fängt dann an die nächsten Daten zu codieren...usw meine Datenpakete sehen so aus: |Startbyte|Typebyte|Anzahlbyte| ---Datenbytes---|Stopbyte| = max 64Byte (von mir festgelegt) meine Bestätigungen sind so: |Startbyte|Typebyte|Anzahlbyte (=0)|Stopbyte| = 4Byte jedes Datenpaket oder Bestätigung löst ein Event auf der Gegenseite aus wodurch eine Statemaschine angeschmissen wird Es wurden 1000 Pakete je 64Byte übertragen. Betrachtet wurde nur die Daten (60Byte pro Paket) nicht der Overhead, also 1000*60Byte = 60000Byte Ich habe vollgende Messungen gemacht: µC MHZ | Baudrate | Dauer (Sek) | Theorie (Sek) | Byte/Sekunde | 3,68 9600 95 50 631 3,68 19200 65 25 923 3,68 230400 37,7 2 1590 3,68 460800 37,7 1 1590 12 250000 24,5 2 2449 12 500000 23,4 1 2564 16 500000 22 1 2727 16 1000000 22 0.5 2727 16 2000000 22 0.25 2727 Also alles vieeeel zu langsam Ich hab schon ein paar Ideen woran es liegt, aber was sagt ihr dazu?