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 Senden/Empfangen 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/ 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/