RS 232

2 отговора 0 прегледа
#1

RS 232

Малко помощ относно комуникацията с този порт, идеята ми е да управлявам волтажа на порта, нищо дигитално или от този род, просто искам чрез програма да поддавам напрежение или да го спирам по пиновете на този порт.

Благодаря ви предварително!

Отговор
в отговор на Banzsh #2

Шегуваш се :)

Аз ползвам готов компонет (VARIAN ASYNC32 COMPONENT) - има ги много в нета.
Става и с АПИ: 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 на

Отговор
в отговор на NikB #3

Re: Шегуваш се :)

с техническата част не мисля, че ще имам проблем, програмният код ми беше по-дерт, иначе благодаря

Отговор