Форум: "WinAPI";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
ВнизРабота с COM портом Найти похожие ветки
← →
kolj © (2007-02-01 20:31) [0]Начал работать с модемом zyxel u-1496, на данный момент хочу
просто передавать команды и получати ответы, с первым будто проблем нет, а вот ответ получитm не удается. Дальше приведен текст этих процедурок.
function OpenCOMPort(ComPort:String): Boolean;
begin
ComFile := CreateFile(PChar(ComPort),
(GENERIC_READ or GENERIC_WRITE),
0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if ComFile = INVALID_HANDLE_VALUE then
Result := False
else
Result := True;
end;
procedure SendText(s: string);
var
BytesWritten: DWORD;
begin
s := s + #13 + #10;
WriteFile(ComFile, PChar(s)^, Length(s), BytesWritten, nil);
end;
function readd :boolean;
var
hport:Thandle;
ComStat: TComStat;
dwMask, dwError: DWORD;
OverRead: TOverlapped;
dwRead: DWORD;
begin
hport:=comFile;
OverRead.hEvent := CreateEvent(nil, True, False, nil);
if OverRead.hEvent = Null then
raise Exception.Create("Error creating read event");
if not WaitCommEvent(hPort, dwMask, @OverRead) then
if GetLastError = ERROR_IO_PENDING then
WaitForSingleObject(OverRead.hEvent, INFINITE)
else
raise Exception.Create("Error waiting port event");
if not ClearCommError(hPort, dwError, @ComStat) then
raise Exception.Create("Error clearing port");
dwRead := ComStat.cbInQue;
if dwRead > 0 then
if not ReadFile(hPort, Buf, dwRead, dwRead, @OverRead) then
raise Exception.Create("Error reading port");
end;
← →
Kolan © (2007-02-01 20:53) [1]http://kladovka.net.ru/delphibase/?action=viewfunc&topic=hardsystem&id=10452
← →
kolj © (2007-02-01 21:46) [2]> Kolan
Попробовал этот модуль, но возникает странная проблема, то что я посылаю в порт то и получаю. Например посылаю AT+FCLASS=8, и мне ето и возвращается а имело бы "OK" или "ERROR" В чем дело?
← →
Evgeny V © (2007-02-02 08:02) [3]
> kolj © (01.02.07 20:31)
> if not WaitCommEvent(hPort, dwMask, @OverRead) then
Кто такой hPort? Как он связан с
> ComFile := CreateFile
? По коду никак.
dwMask надо инициализировать тем, какие события хочешь получать, например EV_RXCHAR
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2007.07.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c