Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Программирование 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; // один стоповый бит


Наверх

Титульная страница Поиск, карта сайта Написать письмо