Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
ts230
Beiträge: 109 Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:
Beitrag
von ts230 » So 21. Dez 2008, 04:22
Hallo,
wie steuere ich den Com-Port an???
Ich möchte auch USB-Seriell-Wandler Ansteuern,da manche Computer kein RS232 haben aber meine Hardware das voraussetzt.
Dann sollen alle Com-Ports in einer ComboBox angezeigt werden und dann kann mann sich über ein »Verbinden« Button Verbinden.
Ich müsste das Haben:
Alle Comports(inkl.USB-->Seriell) anzeigen und in ComboBox schreiben
Verbinden/Trennen
Bitte helft mir.
Zuletzt geändert von
ts230 am Mo 22. Dez 2008, 20:38, insgesamt 1-mal geändert.
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
tiersendung.funpic.de
alexander
Beiträge: 423 Registriert: Di 5. Feb 2008, 12:45
OS, Lazarus, FPC: Linux, Lazarus svn, FPC svn
CPU-Target: 64Bit
Kontaktdaten:
Beitrag
von alexander » So 21. Dez 2008, 07:43
keine Ahnung, aber ich habe ein bisschen gegooglet, und kam hierzu:
http://sourceforge.net/projects/cportlaz/ " onclick="window.open(this.href);return false;
vielleicht hilft es dir ja....
ohh er schreibt, das die nur für winodws funktioniert
.... schade
Du magst Freiheit? Gönne es auch deinem Computer mit Linux!
www.alexanderroth.eu
Christian
Beiträge: 6079 Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:
Beitrag
von Christian » So 21. Dez 2008, 08:18
fpc hat eine serial unit.
synapse hat eine synaser unit.
beides plattformunabhängig, getestet und gut.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
ts230
Beiträge: 109 Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:
Beitrag
von ts230 » So 21. Dez 2008, 18:17
@Christian:
D a n k e !
Wo ist sie bei synapse?Ich habe Synapse sowieso eingebunden,weil ich auf updates prüfe.............................
Ach:
USB-->Seriell-Wandler werden ja unter Linux als /dev/ttyUSB0 (oder so) eingebunden.
Bei Windows sind die dann ja nur normale COM-Ports.
Zuletzt geändert von
ts230 am So 21. Dez 2008, 18:23, insgesamt 2-mal geändert.
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
tiersendung.funpic.de
monta
Lazarusforum e. V.
Beiträge: 2809 Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:
Beitrag
von monta » So 21. Dez 2008, 18:22
Also meine DateiSuche zeigt mir die serial.pp unter \source\rtl\unix im FPC-Verzeichnis an.
Sollte die richtige sein:
{ Unit for handling the serial interfaces for Linux and similar Unices.
(c) 2000 Sebastian Guenther,
sg@freepascal.org
}
und eine serial.pas gibt es noch für amiga
Johannes
ts230
Beiträge: 109 Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:
Beitrag
von ts230 » Mo 22. Dez 2008, 03:17
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
tiersendung.funpic.de
Christian
Beiträge: 6079 Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:
Beitrag
von Christian » Mo 22. Dez 2008, 12:12
ndem du prüfst welche sich öffnen lassen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
ts230
Beiträge: 109 Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:
Beitrag
von ts230 » Mo 22. Dez 2008, 18:12
Ja.Gut
Jetzt habe ich das:
Code: Alles auswählen
i:=0;
For i:=0 to 50 Do
begin
try
SHandle:=SerOpen('/dev/ttyUSB'+inttostr(i)+'');
SerClose(SHandle);
a:=true;
except
a:=false;
end;
if a then Combo1.Items.Add('/dev/ttyUSB'+inttostr(i)+'');
end;
Und ich krieg alle /dev/ttyUSB0 ... /dev/ttyUSB50 aber die sind nicht vorhanden auf meinem System.Was mache ich denn falsch???
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
tiersendung.funpic.de
Christian
Beiträge: 6079 Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:
Beitrag
von Christian » Mo 22. Dez 2008, 19:01
Na du guckst gar nicht ob dein SHandle gültig ist. Wiso sollte da ne Exception ausgelöst werden wenn sich der Port nicht öffnen lässt ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
ts230
Beiträge: 109 Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:
Beitrag
von ts230 » Mo 22. Dez 2008, 20:04
Wie schau ich denn nach ob das Handle gültig ist?
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
tiersendung.funpic.de
Christian
Beiträge: 6079 Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:
Beitrag
von Christian » Mo 22. Dez 2008, 20:12
Also man kann ja gern ma fragen aber ...
.. das hat nichts mehr mit Anfängerfragen sondern eher was mit Faulheit zu tun.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
ts230
Beiträge: 109 Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:
Beitrag
von ts230 » Mo 22. Dez 2008, 20:14
geht es so?
Code: Alles auswählen
if SHandle then Combo1.Items.Add('/dev/ttyUSB'+inttostr(i)+'');
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
tiersendung.funpic.de
Christian
Beiträge: 6079 Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:
Beitrag
von Christian » Mo 22. Dez 2008, 20:18
Ja so sollts gehn.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
ts230
Beiträge: 109 Registriert: Sa 20. Dez 2008, 20:42
OS, Lazarus, FPC: Linux (L 0.9.24)
CPU-Target: 32Bit
Wohnort: San Jose,CA
Kontaktdaten:
Beitrag
von ts230 » Mo 22. Dez 2008, 20:26
Aber es will irgendwie immer noch nicht.
ich habs mit
Code: Alles auswählen
if not SHandle = 0 then Combo1.Items.Add('/dev/ttyUSB'+inttostr(i)+'')
probiert weil das andere nicht geht.
Aber hier das gleiche Problem
Code: Alles auswählen
If beitragHilfreich then leseitdurch()else volle_ignoranz();
tiersendung.funpic.de
Christian
Beiträge: 6079 Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:
Beitrag
von Christian » Mo 22. Dez 2008, 20:31
sehr merkwürdig.
Alternativ würde mir noch FileExists einfallen.
if FileExists('/dev/ttyUSB'+inttostr(i)+'') then
wiso eigentlich das '' nach IntToStr(i)
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/