RS 232
2 отговора
0 прегледа
RS 232
Малко помощ относно комуникацията с този порт, идеята ми е да управлявам волтажа на порта, нищо дигитално или от този род, просто искам чрез програма да поддавам напрежение или да го спирам по пиновете на този порт.
Благодаря ви предварително!
Благодаря ви предварително!
Шегуваш се :)
Аз ползвам готов компонет (VARIAN ASYNC32 COMPONENT) - има ги много в нета.
Става и с АПИ: CreateFile, по-долу (за пример) поствам създаването на хендлера в компонент.
ОБАЧЕ, подозирам, че си много (прекалено) бос в тая област, за да си позволяваш да се подпичкваш с портовете (въпреки, че са доста дуракоустойчиви, но май сте на границата).
Трябвада да ти е ясно това "напрежение" колко ток ще харчи, на кои сигнали можеш да го управляваш On/Off и маса други въпроси.
Става и с АПИ: CreateFile, по-долу (за пример) поствам създаването на хендлера в компонент.
procedure TCustomComm.CreateHandle;
var
MyDeviceName: string;
begin
// Svetlin F816
if (length(FDeviceName) > 4) and (FDeviceName[1] <> '\') then begin
MyDeviceName := '\\.\'+FDeviceName;
end
else begin
MyDeviceName := FDeviceName;
end;
// FHandle := CreateFile(PCHAR(FDeviceName),
FHandle := CreateFile(PCHAR(MyDeviceName),
GENERIC_READ or GENERIC_WRITE, 0, nil,
OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
if not Enabled then
RaiseCommError(sOpenError, GetLastError);
if GetFileType(FHandle) <> FILE_TYPE_CHAR then
begin
DestroyHandle;
RaiseCommError(sInvalidHandle, -1);
end;
end;
ОБАЧЕ, подозирам, че си много (прекалено) бос в тая област, за да си позволяваш да се подпичкваш с портовете (въпреки, че са доста дуракоустойчиви, но май сте на границата).
Трябвада да ти е ясно това "напрежение" колко ток ще харчи, на кои сигнали можеш да го управляваш On/Off и маса други въпроси.
Редактирано от NikB на
Re: Шегуваш се :)
с техническата част не мисля, че ще имам проблем, програмният код ми беше по-дерт, иначе благодаря 