![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Программирование COM порта [D5, D6, NT4, Win2k]
Prog_maker © (2002-01-26 17:13:00)Доброго Вам времени суток, All!
Пишу программу под W2k, которая отправляет/получает данные в COM1
порт.
Открываю порт
hCom:=CreateFile("COM1",Generic_Read+Generic_Write,0,
nil,Open_Existing,FILE_Flag_OverLapped,0);
Затем пытаюсь записать данные
WriteFile(hCom1, S, 1,actual_bytes, Overlap);
где: s:Char;
actual_bytes: Cardinal;
Overlap : POverlapped;
но выдаётся ошибка, может быть кто зает, почему.
Заранее благодарен, Alexey.
ValeraVV (2002-01-29 11:07:00) [1]при флаге FILE_Flag_OverLapped write и read возвращают ошибку IO_Pending, потому-что чтение/запись асинхронны
Dimaond Cat (2002-01-26 21:54:00) [2]если hcom и hcom1 не опечатка а реально две разные переменные, то инициализировал-ли ты hcom1 и если да то не забыл-ли закрыть hcom, потом еще есть вопросы по поводу установок порта, а именно соответствуют ли они по формату передачи твоему обращению к порту
т.е проделываешли ты следующее GetCommState(hCom1, dcb) где dcb: Tdcb;-структура ( виндусовская ) с установками СОМ портови последующее изменение этих установок под твои нужды
dcb.BaudRate := CBR_38400; // Установка новых параметров
dcb.ByteSize := 8; // для СОМ1, скорость 38400, 8-ми битный обмен,
dcb.Parity := NOPARITY; // нет контроля четности,
dcb.StopBits := ONESTOPBIT; // один стоповый бит