Synaser Seriele Verbindung korrekt aufbauen..

Alle Fragen zur Netzwerkkommunikation
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Synaser Seriele Verbindung korrekt aufbauen..

Beitrag von corpsman »

Guten Morgen allerseits,

Ich habe kleine Schwierigkeiten mit Synaser und hoffe auf eure Hilfe.

Ich habe mir eine Anwendung gebastelt, mit welcher ich über Synaser einen µ-Controller Programieren kann ( das Funktioniert auch schon ).

Zum Verbinden nutze ich folgenden Code :

Code: Alles auswählen

Procedure TProgrammer.Connect(ComPort: String);
Begin
  Writeln('Connect to : ' + ComPort);
  fserial.Connect(ComPort);
  sleep(100);
  fserial.Config(115200, 8, 'N', 1, false, false);
  sleep(100);
  If (fserial.LastError <> 0) Then Begin
    writeln(format('ERROR %d OCCURED.', [fserial.LastError]));
  End;
End;
Dieser Code funktioniert ansich, wirft aber immer den Error 87 aus.
Der Fehler ansich würde mich nicht stören, da es ja trotzdem funktioniert, merkwürdig ist es aber schon.

Mein eigentliches Problem ist, dass meine Anwendung nur funktioniert, wenn ich nach jedem Windows neustart vorher ein X-beliebiges anderes Programm starte und eine Verbindung zum verwendeten Comport aufbaue ( ich muss da nicht mal Daten senden, nur Connect / disconnect ). Ich muss das nur 1 mal machen, danach funktionert es 1a.

Die Frage die sich mir nun stellt : Wie baue ich mit synaser eine Verbindung zu einem Comport auf, so dass dieser dann Tadellos funktioniert ?

Die verwendete Synaser Version habe ich von Hier : http://www.ararat.cz/synapse/doku.php/download?s" onclick="window.open(this.href);return false;[]=synaser
--
Just try it

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Synaser Seriele Verbindung korrekt aufbauen..[gelöst]

Beitrag von corpsman »

So, wie sich heraus stellte, habe ich tatsächlich was falsch gemacht :
Nachdem ich hier : http://msdn.microsoft.com/en-us/library ... 85%29.aspx" onclick="window.open(this.href);return false; nachlesen konnte für was 87 eigentlich steht. Fand ich dann heraus, dass ich die Stopbits falsch initialisiert habe.
Nun gehts *g*.

Hier der neue Code, falls jemand auch mal auf der Suche nach Fehlern ist.

Code: Alles auswählen

Procedure TProgrammer.Connect(ComPort: String);
Begin
  Writeln('Connect to : ' + ComPort);
  // Die Fehlercodes sind hier hinterlegt :
  // http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382%28v=vs.85%29.aspx" onclick="window.open(this.href);return false;
  fserial.Connect(ComPort);
  If (fserial.LastError <> 0) Then Begin
    writeln(format('Error, could not connect to device errornumber : %d', [fserial.LastError]));
  End;
  sleep(100);
  fserial.Config(115200, 8, 'N', SB1, false, false);
  If (fserial.LastError <> 0) Then Begin
    writeln(format('Error, could not config device error number : %d', [fserial.LastError]));
  End;
  sleep(100);
End;
--
Just try it

Antworten