AW: daten von serieller Schnittstelle
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo
da bin ich wieder. ich bin wohl zu blöd um das zu kapieren. mit folgendem Prog. bekomme ich nur blöde Sonderzeichen (siehe Bild)Anhang 41464 im Mini Terminal läuft es aber richtig Anhang 41465 nur mein Prog streikt kann mir jemand weiter helfen.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, VaClasses, VaComm, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; VaComm1: TVaComm; procedure FormCreate(Sender: TObject); procedure readCom3(Sender: TObject; Count: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin vacomm1.Open; end; procedure TForm1.readCom3(Sender: TObject; Count: Integer); var text: string; i: integer; begin text:=vacomm1.readtext; label1.Caption:=text; end; end. |
AW: daten von serieller Schnittstelle
Richtiger COMPORT und andere Parameter richtig eingestellt?
Zeige den Code, wo das gemacht wird! In procedure TForm1.FormCreate(Sender: TObject); steht nichts. Da kannst Du es aber reinschreiben und die Parameter im Objectinspector überschreiben. |
AW: daten von serieller Schnittstelle
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo
Meiner Meinung nach habe ich den Comport richtig eingestellt (siehe Foto).Anhang 41476 Wie gibt man die Parameter der Com im Prog. an? In der Zip-Datei ist mein Prog. vielleicht kann mir jemand weiter helfen. Anhang 41480 |
AW: daten von serieller Schnittstelle
Liste der Anhänge anzeigen (Anzahl: 1)
ich habe ein Video von meinem Prog. gemacht, da sieht man wie die Zahlen "herumspringen" kann mir jemand sagen warum?Anhang 41483
Kann es sein, das mein Prog nicht ordentlich läuft weil ich eine Trial-Version von ASYNC32 verwende? |
AW: daten von serieller Schnittstelle
Das wurde ganz am Anfang mehrfach ausführlich erklärt.
Der Comport, genauso wie bei TCP, bekommt am Ziel die Daten nicht genauso "partitioniert" rein, wie sie auf der anderen Seite versendet wurden. Also mußt du selber unvollständige Daten sammeln und die empfangenen Daten auch selber (an den Zeilenumbrüchen) aufteilen. ReadText weiß ja nicht wieviele Daten du lesen weillst, also liest es alles aus, was sich aktuell im Empfangspuffer befindet. (das können mehrere Zeilen und auch nur der Anfang der "letzen" Zeile sein) |
AW: daten von serieller Schnittstelle
Liste der Anhänge anzeigen (Anzahl: 1)
@binderj1:
Obwohl Du ziemlich therapieresistent bist, will ich letztmalig helfen: Im Anhang ist das Demoprogramm, das mitgeliefert wird!!!
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin VaComm1.Baudrate:= br9600; //anpassen <---------------------------------- VaComm1.PortNum:= 7; //anpassen <---------------------------------------- VaComm1.Open; end; |
AW: daten von serieller Schnittstelle
Ich hatte Dir sogar funktionierenden Quelltext für eine Ring-Puffer Klasse geschickt, die Dein Problem löst.
Zugegeben, die kleine Klasse war jetzt nicht übermäßig gut kommentiert, aber mit dem Stand, auf dem Du jetzt bist, hättest Du den Code leicht verstehen können. Irgendeine Antwort von Dir (danke/unbrauchbar/verstehe ich nicht/klappt nicht, weil..) hätte ich schon gut gefunden, wenn ich Dir fertige Arbeit schenke. Stattdessen versuchst Du hier augenscheinlich so lange nachzufragen, bis Dir jemand Deine komplette Arbeit abnimmt. Am einfachsten änderst Du Die Arduino Ausgabe so, dass statt des reinen Integers (Winkel) eine Format-Zeichenfolge ausgegeben wird. z.B. W217,. Dann nimmst Du eine String Property, an dessen Wert Du alle empfangenen Daten vom Arduino einfach anhängst. Anschließend wertest Du die String Property aus (beginnend vom Anfang des Strings) und schaust, ob dort ein "W<zahl>Komma" vorkommt. Falls ja, <zahl> ausgeben und den String von vorn bis zum letzten vorhandenen Komma abscheiden, falls nicht ... auf weitere Daten vom Arduino warten und wieder versuchen. Alternativ schreibst Du Dir einfach eine kleine Ringpuffer Klasse, die alles für Dich erledigt. Beispiel hast Du ja. |
AW: daten von serieller Schnittstelle
Und für fertige Lösungen gibt es hier sogar eine Abteilung, wo man seinen Arbeitsauftrag anbieten darf.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz