AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

daten von serieller Schnittstelle

Ein Thema von binderj1 · begonnen am 11. Jul 2014 · letzter Beitrag vom 19. Jul 2014
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#1

AW: daten von serieller Schnittstelle

  Alt 12. Jul 2014, 10:52
Diese ComPort-Komponente bietet nicht zufällig eine Möglichkeit an, die Daten zeilenweise auszulesen, oder bis zu einem definierbarem Stoppzeichen?

Man kann mantürlich die empfangenen Daten selber Cachen und an den Trennzeichen aufsplitten, um die Daten zu bekommen,
oder man lässt es automatischmachen.
Code:
Serial.println(...);
Trennt die einzelnen Werte ja mit einem Zeilenumbruch und an diesem kann man sie auch auftrennen.


PS: Man kann das ganze natürlich auch andersrum gestalten, indem das Arduino-Programm den aktuellen Wert nur auf Anfrage rausrückt,
oder zumindestens doppelte Werte weglässt. (z.B. nur bei Änderung "schnell" die Werte rausrückt und ansonsten längere Pausen lässt ... gibt weniger Probleme bei der Auswertung, da man bei einer Auslastung im PC nicht so schnell in ein Pufferüberlauf läut und auch so weniger "unnötige" Daten auswerten muß)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#2

AW: daten von serieller Schnittstelle

  Alt 13. Jul 2014, 13:49
Hier gibt es ein kostenloses Paket mit Sourcecode + Beispielprogrammen:
http://comport.sf.net/

Das MiniTerm-Programm passt perfekt zum ARDUINO.
Angehängte Grafiken
Dateityp: jpg DELPHI_MiniTerminal-0.jpg (59,5 KB, 15x aufgerufen)
Dateityp: jpg DELPHI_MiniTerminal-2-Setup.jpg (17,5 KB, 12x aufgerufen)
Angehängte Dateien
Dateityp: zip _MINITERMexe.zip (712,4 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
binderj1

Registriert seit: 17. Okt 2006
11 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: daten von serieller Schnittstelle

  Alt 16. Jul 2014, 20:06
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)bild3.jpg

im Mini Terminal läuft es aber richtig bild4.jpg

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.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#4

AW: daten von serieller Schnittstelle

  Alt 17. Jul 2014, 06:27
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.

Geändert von hathor (17. Jul 2014 um 06:29 Uhr)
  Mit Zitat antworten Zitat
binderj1

Registriert seit: 17. Okt 2006
11 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: daten von serieller Schnittstelle

  Alt 18. Jul 2014, 16:30
Hallo
Meiner Meinung nach habe ich den Comport richtig eingestellt (siehe Foto).bild5.jpg

Wie gibt man die Parameter der Com im Prog. an?

In der Zip-Datei ist mein Prog. vielleicht kann mir jemand weiter helfen.
Read_com3.zip
  Mit Zitat antworten Zitat
binderj1

Registriert seit: 17. Okt 2006
11 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: daten von serieller Schnittstelle

  Alt 18. Jul 2014, 16:57
ich habe ein Video von meinem Prog. gemacht, da sieht man wie die Zahlen "herumspringen" kann mir jemand sagen warum?video1.zip


Kann es sein, das mein Prog nicht ordentlich läuft weil ich eine Trial-Version von ASYNC32 verwende?

Geändert von binderj1 (18. Jul 2014 um 17:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.590 Beiträge
 
Delphi 12 Athens
 
#7

AW: daten von serieller Schnittstelle

  Alt 18. Jul 2014, 17:37
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)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (18. Jul 2014 um 17:39 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz