Serial Komponente gesucht.

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
haderlump
Beiträge: 192
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

Serial Komponente gesucht.

Beitrag von haderlump »

Hallo zusammen
Ich habe in meinem Projekt Modellbahnsteuerung eine Komponente Die Serialschnittstellen behandelt.
Ich benutze die Softwarekomponenete "SerCOM 1.2" von Dynamo Software.
Doch jetzt habe ich ein Problem. Ich habe eine zusätzliche Schnittstelle Installiert, die im Gerätemanager als COM11 erscheint.
Mit HTerm funktioniert diese auch einwandfrei.
Doch nun mein Problem. Wenn die COM-Schnittstelle über COM 9 hinausgeht, kommt eine Fehlermeldung -3 Das ist "Fehlermeldung vom Betriebssystem, Nummer in "SerialCode" "
Nun gäbe es 2 Möglichkeiten. Entweder ich könnte die Schnittstelle in Windows umbenennen, was mir bisher noch nicht gelungen ist, (Ich habe es im Gerätemanager probiert)
Oder ich brauche eine andere Komponente für Lazarus.
Ich habe das Paket LazSerial installiert, aber ich habe keine Ahnung, wie ich das nutzen kann.
Es gibt da nur die Ereignisse OnStatus oder OnReceive.
Könnt ihr mir da etwas Besseres empfehlen?

Benutzeravatar
theo
Beiträge: 11108
Registriert: Mo 11. Sep 2006, 19:01

Re: Serial Komponente gesucht.

Beitrag von theo »

Synaser ist Teil von Synapse:
https://wiki.freepascal.org/Hardware_Ac ... munication

Synapse ist im Online Package Manager als Synapse 40.1

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1725
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Serial Komponente gesucht.

Beitrag von fliegermichl »

haderlump hat geschrieben: So 21. Dez 2025, 12:23 ... Entweder ich könnte die Schnittstelle in Windows umbenennen, was mir bisher noch nicht gelungen ist, (Ich habe es im Gerätemanager probiert)
Wenn man im Gerätemanager mit Rechtsklick auf das Gerät das Kontextmenü öffnet und da auf "Eigenschaften" klickt, im nächsten Fenster auf "Erweitert", kann man einen anderen COM Port für das Gerät auswählen.

siro
Beiträge: 772
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Serial Komponente gesucht.

Beitrag von siro »

Das Problem bei Windows ist,
dass sich ab COM10 die Namen ändern, dafür hab ich mir mal folgende Funktion geschrieben:

Code: Alles auswählen

{------------------------------------------------------------------------------}
{ liefert den erforderlichen Windowsnamen zurück }
{ Dieser Name wird benötigt bei Window.CreateFile }
{ COM1,COM2,COM3...COMx }
{ ab COM10 gibt es eine spezielle Namensgebung unter Windows }
{ \\.\COM10    \\.\COM11    \\.\COM12   ..... }
{ an das Ende wird immer ein 0x00 angehangen für die C Convertierung }
{ bzw. als Endmarkierung für den "C" String }

function ComXName(no:word):string;
begin
  if no < 10 then result:='COM'+IntToStr(no)+char(0)       { COM 1..9 }
             else result:='\\.\COM'+IntToStr(no)+char(0);  { COM 10..nn }
end;
{------------------------------------------------------------------------------}
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

haderlump
Beiträge: 192
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

Re: Serial Komponente gesucht.

Beitrag von haderlump »

Danke für die Antworten.
Ich werde morgen mal die Lösung von Siro probieren. Das wäre mir das liebsten, weil ich da am wenigsten ändern muss.
Herzlichen Dank.

Antworten