Attid писал(а):поставь вместо {$mode objfpc} - {$mode delphi}
Теперь вобще едентично....
Attid писал(а):и пока без потоков не проверишь
Я не ахти какой программист, уже писал об этом. Поэтому вопрос:
Как организовать опрос состояния без потоков?
Модератор: Модераторы
Attid писал(а):поставь вместо {$mode objfpc} - {$mode delphi}
Attid писал(а):и пока без потоков не проверишь
procedure TForm1.Start1Click(Sender: TObject);
begin
if Start1.Checked then
begin
ser1:=TBlockserial.Create;
if ser1.InstanceActive then Memo1.Lines.Add('1-1True') else Memo1.Lines.Add('1-1False');
ser1.Connect(Form1.NamePort1.Text);
Memo1.Lines.Add(IntToStr(ser1.LastError)+'-'+ser1.LastErrorDesc);
if ser1.LastError<>0 then
begin
Start1.Checked:=False;
Exit;
end;
ser1.Config(115200,8,'N',0,false,false);
if ser1.InstanceActive then Memo1.Lines.Add('1-2True') else Memo1.Lines.Add('1-2False');
Memo1.Lines.Add('открыт порт - '+ser1.Device);
//--------------------------------
ser1.Free;
ser2:=TBlockserial.Create;
if ser2.InstanceActive then Form1.Memo1.Lines.Add('2-1True') else Form1.Memo1.Lines.Add('2-1False');
ser2.RaiseExcept:=true;
ser2.Connect(Form1.NamePort2.Text);
Form1.Memo1.Lines.Add(IntToStr(ser2.LastError)+'-'+ser2.LastErrorDesc);
ser2.EnableRTSToggle(true);
ser2.Config(115200,8,'N',0,false,false);
if ser2.InstanceActive then Form1.Memo1.Lines.Add('2-2True') else Form1.Memo1.Lines.Add('2-2False');
Form1.Memo1.Lines.Add('открыт порт - '+ser2.Device);
repeat
if ser2.CTS then Form1.CTS2.Color:=clteal else Form1.CTS2.Color:=clcream ;
if ser2.DSR then Form1.DSR2.Color:=clteal else Form1.DSR2.Color:=clcream ;
if Form1.P2.Color<>clLime then Form1.P2.Color:=clLime else Form1.P2.Color:=clRed ;
Application.progressMessage;
sleep(50);
until Form1.Start2.Checked=False;
Form1.Memo1.Lines.Add(IntToStr(ser2.LastError)+'-'+ser2.LastErrorDesc);
ser2.Free;
if ser2.InstanceActive then Form1.Memo1.Lines.Add('2-3True') else Form1.Memo1.Lines.Add('2-3False');
//---------------------------------
end
else
begin
ser1.Free;
Memo1.Lines.Add(IntToStr(ser1.LastError)+'-'+ser1.LastErrorDesc);
if ser1.InstanceActive then Memo1.Lines.Add('1-3True') else Memo1.Lines.Add('1-3False');
Memo1.Lines.Add(IntToStr(ser1.LastError)+'-'+ser1.LastErrorDesc);
end;
end;
This project is the conversion of the Comport Package of dejancrn and dybdahl, for lazarus pascal project. It just work on windows but in the future, I traduce it to work under lazarus for linux.
Attid писал(а):чем тебя TBlockserial не устроил ?
Attid писал(а):мне казалось в начале топика ты что-то под линукс говорил, а он тебе в этом не поможет.
Operating System: All 32-bit MS Windows (95/98/NT/2000/XP), Linux
dionic писал(а):Привет народ! А никто не подскажет вот по такому вопросу. Как работать с com портом при помощи synaser я вроде разобрался. Сначала попробовал под win, а затем под linux. А как мне устройсво ,например, счетчик э\э через оптопорт прикрепить к com -порту=) под linux? Мне дрова под него нужны или что вообще?
ls /dev/ttyUSB*
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7