Hallo, ich hab nur ne kurze Frage... Ist schon jemanden aufgefallen, dass man mit dem Serialport Steuerelement und beim Empfangen von Zeichen mit der ReadTo Funktion, maximal 4 Zeichen als Abschluss verwenden kann? Das ganze sieht dann so aus: buffer = Me.SerialPort.ReadTo("XEND") & vbNewLine so funktioniert es Problemlos... der Abschluss erfolgt hier bei XEND aber buffer = Me.SerialPort.ReadTo("XENDL") & vbNewLine funktioniert nicht mehr... es liegt an dem 5. Buchstaben... mit 1,2,3 oder 4 gehts... Die MSDN hat dafür auch keinen Vermerk... Warum das so wichtig ist?! Ich sende Floatzahlen im Binärformat hin und her... die sind 4 Byte lang... die Chance das mal eine Floatzahl genau mein Endline ist, ist zwar sehr gering (wahrscheinlich 1 zu 2^32) aber immerhin Vorhanden... Weiß jemand warum die Funktion sich so verhält... oder weiß jemand ne andere Lösung mit dem Zeichenkettenabschluss? Schonmal danke für eure Hilfe... Basti
keine ahnung ich habe so eine funktion noch nie gebraucht. Ist es wirklich so schwern einfach byte-weise die daten zu lesen bis dein endezeichen auftaucht und dann die Daten zu verarbeiten? Kann es eventuell daran liegen das du überhaupt kein "XENDL" sendest? Ich halte so ein fehler für wahrscheinlicher als das hier etwas an dem aufruf nicht stimmt.
das letzte schließ ich aus, weil ich das mit Readexisting oft genug kontrolliert habe... oder einfach mit ReadTo und 4 Zeichen... dann bleibt das L immer übrig... können auch andere Buchstabe sein.. egal und zu erstens muss ich sagen... JA... da ich aus der C Ecke komme und mir das String Format noch nicht wirklich gut klar komme... muss mir das immer in nen Bytearray umwandeln, damit ich so ähnlich wie in C arbeiten kann... Wenn ich da so halbprofessionell rumtüdel habe ich bedenken, dass das Ganze seine Performence verliert... arbeite mit 250k Baud und ner ZedGraph Controll... Meine Prozessorlast liegt zur Zeit zwischen 80 und 90%... ich hab einen i7 860 und das ZedGraph Controll schafft es irgendwie alle 8 Kerne so sehr auszulasten das kaum noch reserven sind... Egal, das ist nen anderes Thema
Basti schrieb: > Wenn ich da so halbprofessionell rumtüdel habe ich bedenken, dass das > Ganze seine Performence verliert... arbeite mit 250k Baud und ner > ZedGraph Controll... > Meine Prozessorlast liegt zur Zeit zwischen 80 und 90%... > ich hab einen i7 860 und das ZedGraph Controll schafft es irgendwie alle > 8 Kerne so sehr auszulasten das kaum noch reserven sind... dann hast du ein design fehler. 250k Baud sind 6.000 floats in der sekunde - das langweilt sich sogar ein P90. Es macht auf kein sinn bei jedem neuen Wert die Grafig neu zu berechnen, es würde auch 1mal je sekunde reichen. Wenn du aus der C ecke kommst, sollte dir doch klar sein das hier etwas nicht stimmt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.