closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

Welche Komponente



TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Welche Komponente  -  Posted: 21.05.2021 - 11:02   -  
Hallo,
was für eine Komponente nehm ihr für Delphi
wegen Serielle.

Die teste ich gerade comport411f

Gruß Frank
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
pvs-deck offline
PowerUser
Avatar
Gender: male
Location: GERMANY 
Age: 50
Posts: 1222
Registered: 02 / 2009
Homepage Private message
Subject: Re: Welche Komponente  -  Posted: 21.05.2021 - 11:27   -  
Quote by TheBeginner

Hallo,
was für eine Komponente nehm ihr für Delphi
wegen Serielle.

Die teste ich gerade comport411f

Gruß Frank


Die ComPort gibt es schon sehr lange, haben wir in älteren Systemen immernoch im Einsatz, da spricht eigenlich nichts dagegen. In neueren Projekten nutze ich gerne die nrcomlib. Diese haben wir auch mit einem USB-Treiber im Einsatz. Bei der Componente kannst du Dich entscheiden für einen kleinen USB-Treiber oder den großen WinUSB. Beide werden von der Componente, wenn benötigt mit installiert. Hier brauchst Du dann keine Extra Installationsroutine wie beim libusb0. Vom Preis ist diese bezahlbar und spart sehr viel Programmieraufwand, unter anderen bekommt man dann gleich MODBUS, Z-Modem, USB und RS232/485 Funktionen mitgeliefert.

nrComLib

Thorsten
---------------------------------------------------------
Nichts ist unmöglich in der Elektronik und der Software, die Grenzen
setzt nur das Budget, Zeit und der Entwickler! ( P V S - D E C K )
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: Welche Komponente  -  Posted: 21.05.2021 - 11:38   -  
Guten morgen Thorsten,
Danke für deine Antwort, ich teste jetzt erstmal die 411f
Aber so ganz zufrieden bin ich damit nicht, liegt es am Programmierer oder
an der Hardware ?

AVRco 32Mhz




Delphi Code
Code

procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
    SendStr:='';
    SendStr := Edit1.Text;
    ComPort1.WriteStr(SendStr);
end;

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
begin
  if count > 0 then
  begin
    ComPort1.ReadStr(EmpfSt, Count);
    Memo1.Lines.Add(EmpfSt);
  end;
end;




AVRco Code
Code

    repeat
      if SerStatCDC then
        incl(Led1);
        SerInpBlock_TO(UsartCDC, CDC_EmpfStr, 1);  //1 * 10 Systick = 10ms
        CDC_SendStr:= CDC_EmpfStr;
        len:= length(CDC_SendStr);
        SerOutBlock_P(UsartCDC, @CDC_SendStr, word(len));
        excl(Led1);






Gruß Frank
You must be logged in or your permissions are to low to see this Attachment(s).
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
This post has been edited 1-times. Last edit: 21.05.2021 - 11:39 by TheBeginner.
go down go up
golf offline
Benutzer
Avatar
Gender: male
Location: GERMANY  Donauwörth
Age: 68
Posts: 196
Registered: 11 / 2009
Private message
Subject: Re: Welche Komponente  -  Posted: 21.05.2021 - 12:47   -  
Hallo Frank,
ich hab früher mal sowas in der Art genutzt beim Comport

procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);
var
Str1:AnsiString;
begin

setlength(Str1,count);
ComPort1.Read(Str1[1],count);
RS232RXString:=RS232RXString + Str1;

VerarbeiteRS232RXdata;

Comport1.ClearBuffer(true,true);
end;


procedure TForm1.VerarbeiteRS232RXdata;
var
Pos1: integer;
TeilStr:AnsiString;
begin
repeat
Pos1:= pos(char(13),Form1.RS232RXString);

if Pos1 > 0 then
begin
TeilStr:= copy(Form1.RS232RXString,1,Pos1);
TeilStr:= Trim(TeilStr);
//Form1.memo1.Lines.Add(TeilStr);
DisplayMemo(TeilStr);
// hier evtl String auswerten

delete(Form1.RS232RXString,1,Pos1);
end;
until Pos1 = 0;
end;


procedure TForm1.DisplayMemo(Msg : String);
var
I : Integer;
begin
Form1.Memo1.Lines.BeginUpdate;
try
if Form1.Memo1.Lines.Count > 5 then // > 100
begin
Form1.Memo1.Lines.Delete(0);
end;
Form1.Memo1.Lines.Add(Msg);
finally
Form1.Memo1.Lines.EndUpdate;
SendMessage(Form1.Memo1.Handle, EM_SCROLLCARET, 0, 0);
end;
end;

golf
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: Welche Komponente  -  Posted: 21.05.2021 - 13:32   -  
Hallo Golf,
Danke für den Code, das sieht echt gut aus, bei
219 hab eich aufgehört den Button zu drücken,
keine Fehler mehr.

Gruß Frank
You must be logged in or your permissions are to low to see this Attachment(s).
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: Welche Komponente  -  Posted: 21.05.2021 - 14:07   -  
Hallo,

in AVRco habe ich es jetzt so hinbekommen, keine Fehler mehr bekommen.

Code

        SerInpBlock_TO(UsartCDC, CDC_EmpfStr, 1);  //1 * 10 Systick = 10ms
        CDC_SendStr:= CDC_EmpfStr;
        len:= length(CDC_SendStr);
        setlength(CDC_SendStr,len);
        SerOutBlock_P(UsartCDC, @CDC_SendStr, word(len));
        SerOutCDC(#13);


Ich wollte das so machen aber das haut nicht hin.
Code
 
CDC_SendStr:= CDC_EmpfStr+#13+#10;



Gruß Frank
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
Avra hidden
Schreiberling
Avatar
Gender: male
Location: SERBIA  Belgrade, Serbia
Age: 50
Posts: 637
Registered: 07 / 2002
Homepage Private message
Subject: Re: Welche Komponente  -  Posted: 23.05.2021 - 02:24   -  
For event driven non blocking communication with visual components use AsyncPro:
https://github.com/TurboPack/AsyncPro

For blocking communication mostly suited for thread based applications use Ararat Synapse (trunk version only):
http://www.ararat.cz/synapse/doku.php/download
go down go up
TheBeginner offline
Schreiberling
Avatar
Gender: n/a
Location: GERMANY  Wunsiedel Bayern
Age: 64
Posts: 599
Registered: 06 / 2013
Private message
Subject: Re: Welche Komponente  -  Posted: 23.05.2021 - 18:33   -  
Quote by Avra

For event driven non blocking communication with visual components use AsyncPro:
https://github.com/TurboPack/AsyncPro

For blocking communication mostly suited for thread based applications use Ararat Synapse (trunk version only):
http://www.ararat.cz/synapse/doku.php/download


Hello Avra,
Thanks for the info, but I can't see through it.

Hallo Avra,
Danke für die Info, aber da blicke ich nicht durch.


Gruß Frank
------------------------------------------------------------------------
Als Gott mich schuf wollte er angeben.
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 18.10.2021 - 21:41