Suchergebnisse
Suchergebnisse 1-18 von insgesamt 18.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragHallo, Also ich schaue gerade durch verschiedene Threads bezüglich seriellen Schnittstellen. Meist ist man da schon etwas weiter in der Materie, so wie ich das sehe. Ich würde so rein vom theoretischen her nur mal verstehen wollen, was so die untersten Notwendigkeiten sind um überhaupt mit einer seriellen Schnittstelle zu arbeiten. Ich denke mal der ComPort muss gewählt werden und dann gibts noch sowas wie BaudRate und Handshakes. Der Port muss geöffnet, gelesen und geschlossen werden. Ja und da…
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragIch hab mir erstmal angeschaut was ein Thread ist. Ich verstehe das Beispiel: docs.microsoft.com/de-de/dotne…ading.thread?view=net-5.0 Aber was ein Thread genau ist ist mir noch nicht klar, das ist quasi ein Teil des Programms der das andere unterbricht, aber warum? Dann wird im Beispiel auch der Thread selbst "produziert" oder? Wie kommt es das manche Thread schon vorher da sind, wie beim SerialPort? Invoke heißt quasi den Thread zu starten? Im Beispiel wird mit Thread.Sleep der andere Thread g…
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragAlso Invoke schiebt die Methode in den Serialport Thread? @VaporiZed Also in dem Beispiel von Microsoft, sieht es ja so aus, als würden sich die Thread abwechseln. Wenn die wirklich gleichzeitig laufen, dann kann das je nachdem wie lange eine einzelne Anweisung braucht auch weniger abwechselnd aussehen? Und dann ist mir glaub ich immer noch nicht klar was mit dem time slice gemeint ist Wie kann ich mir denn so ein DataReceived-Event vorstellen? Wenn da Daten über den Port kommen, dann läuft das …
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragAlso IO.Ports.SerialPort.GetPortNames() läuft generell schon auf nem anderen Thread, deswegen hole ich es rüber mit Invoke?
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragOhje, kann man denn eine Aussage treffen was in welchem Thread läuft? Ihr seht ja ich muss recht viel raten. Dann gibts jetz sicher noch nen wichtigen Unterschied zwischen Invoke und BeginInvoke, das verwirrt mich eher zusätzlich. Das .Sleep hat sicherlich mit dem Zeitinterval zu tun, das hatte ich auch nochmal gefragt oben. Also dann rate ich mal weiter: Mein Fenster loadet, das machts im GUI-Thread, das Load-Event wird gefeuert. Die Sub dazu läuft auch im GUI-Thread. Also der Invoke-Befehl kom…
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragAlso ich habe jetzt das einmal mit und einmal ohne Invoke probiert: Also nur das Loading, da kann ich keinen Unterschied feststellen in der Ausführung, das heißt ich lass das System machen, aber in einem Fall ja scheinbar falsch, sonst hätte @Bartosz das wohl nicht geschrieben. VB.NET-Quellcode (5 Zeilen) VB.NET-Quellcode (5 Zeilen) Mit InvokeRequired hingegen führt er das nicht mehr aus. Das heißt wohl das ist nicht Required, aber trotzdem kann man Invoken?
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragAchso, ich dachte ihr versucht mir zu erklären, warum da trotzdem ein Invoke hinkommt, und nicht dass das falsch ist. Ok, ich sehe das Invoke ist im DataReceived Sub erforderlich im Load-Sub nicht. Ich habs aber immer noch nicht verstanden sry. Vielen Dank, dass ihr mir weiterhelft. Ich habe trotz dessen ich nicht weiß was passiert, das Ganze ausprobiert und mit einem Barcodescanner versucht etwas in die Textbox zu scannen. Ich erhalte nicht jedes mal dasselbe Ergebnis, manchmal kommt ein Fragez…
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragJa so habe ich den Scanner eingestellt, der emuliert einen seriellen Anschluß, das mit der Tastatur kann man auch einstellen, da funktioniert bei mir aber garnichts. Ich habe einen vermeintlichen Fix hiermit: VB.NET-Quellcode (20 Zeilen) Das funktioniert für 9-stellige und 14-stellige Barcodes jetzt so zuverlässig, dass ich keinen "zu kurzen" String mehr bekomme. Anstatt: (Versteckter Text) Nachtrag: Ich habe jetzt ein Suffix Zeichen eingestellt "+" oder Chr(43) und es daraufhin mit SerialPort1.…
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragMöglicherweise ist es ein zeitliches Problem. Ich hatte nach Ablauf dieser Zeile: Dim prüf As Integer = Port1.BytesToRead in prüf 8 angezeigt bekommen und in Port1.BytesToRead 15. Was ja wenn ich das zuweise eigentlich wenig Sinn ergibt.
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragIch kenne ReadExisting()nicht, daher kann ich dir die Frage nicht beantworten. Der BarcodeScanner sendet über serielle Schnittstelle. Ich trau mich auch nicht das jetzt auszuprobieren da ich mein obiges Problem augenscheinlich behoben habe mit automatischer Byte-Erkennung: VB.NET-Quellcode (10 Zeilen) Ob ich da richtig geraten habe? Mit Thread.Sleep dem DataReceived-Event mehr Zeit zu geben? Oder ist das Blödsinn und funktioniert nur ausversehen? Inwiefern funktioniert .ReadExisting anders? Ich …
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragIch werd es morgen ausprobieren, aber wärst du so nett und zu meiner Version noch zu sagen ob das Sinn ergibt? Denn das Thread.Sleep ist ja eig. im DataReceived-Event Sub und damit wäre das was, was im anderen Thread ausgeführt wird? Oder ist das automatisch der Hauptthread? Das scheint nämlich den Unterschied zu machen, ob ich immer die vollständigen Daten bekomme oder sporadisch nicht. Serialport.ReadExisting "Liest alle sofort verfügbaren Bytes auf Grundlage der Codierung sowohl im Stream al…
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragNaja was heißt philosophieren. Den Barcodescanner können wir gerne weglassen, ich dachte damit kommen wir der Sache wieder näher, da ihr so auf den Anwendungsfall beharrt habt. Der Thread soll sich nicht um den Scanner drehen, deswegen heißts ja Theorie Serialport. Wie gesagt ihr habt mir signalisiert, dass ihr über was anderes reden wollt. Ich verwende ansonsten den Code wie Bartosz ihn eingangs gepostet hat, daher habe ich das nicht nochmal dazu getan. In dem Sinne ist hier alles vollständig. …
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragMit Initialisierung meinst du den Teil mit der Baudrate usw.? Woran erkenne ich ob ich "echte" Bytes oder String-Bytes lese? Was sind echte Bytes?
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragWenn es sich für verschiedene Empfänge unterscheidet würde ich gerne über mehrere Möglichkeiten sprechen. Also für String, für Zahlen, für was kann es denn sonst noch geben?
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragOk, das sieht alles noch recht übersichtlich aus. Nur mal zur Klarifikation, was passiert denn, wenn ich .ReadExisting für nicht String repräsentierende Bytes verwende? Ist das nur ein Konvertierungsproblem oder passiert da mehr? Wenn ich nun für String repräsentierende Bytes .ReadExisting verwende, spare ich mir dann nur ein bisschen Code oder passieren da ganz andere Vorgänge als bei .Read?
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragOk, also Read ist ja offensichtlich was es tut man gibt ihm ja sogar den Byte()-Behälter mit. Und ReadExisting macht dasselbe und konvertiert direkt mit? Oder macht es noch mehr? In der Beschreibung steht "Liest alle sofort verfügbaren Bytes auf Grundlage der Codierung im Stream und im Eingabepuffer des SerialPort-Objekts" Das verstehe aber aus einigen Gründen nicht. Ich weiß was der Eingabepuffer ist, den liest Read quasi auch aus. Aber was ist der Stream? Was heißt sofort verfügbar? Wo wird di…
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
BeitragUnd die Codierung ist nicht wichtig? Bei .Read steht z.B. kein "sofort verfügbar". Was hat das auf sich? Ist Stream und Eingabepuffer dasselbe?
-
Serielle Schnittstelle auslesen Theorie
Haudruferzappeltnoch - - Schnittstellen-/Hardwareprogrammierung
Beitrag@Takafusa Aber es steht generell dasselbe drin pro Event? Zitat von RodFromGermany: „@Haudruferzappeltnoch SerialPort.ReadExisting() liefert einen String zurück. Dieser ist entsprechend .Encoding konvertiert. “ Danke, das versuche ich zu erfragen