COM-порт
Модератор: Модераторы
COM-порт
Добрый день.
Собираюсь писать программу, работающую с gps-приемником через порт COM.
Подскажите, как работать с этим портом под WinCE? Сам, к сожалению, не нашел ничего.
Собираюсь писать программу, работающую с gps-приемником через порт COM.
Подскажите, как работать с этим портом под WinCE? Сам, к сожалению, не нашел ничего.
открываем порт
читаем
пишем
закрываем
Помнить нужно одно что в WinCE OVERLAPPED структуры неподдерживаются!
п.с. А вообще читайте msdn!
Код: Выделить всё
fHandle:=CreateFile('COM1:',GENERIC_READ or GENERIC_WRITE,0, nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0);читаем
Код: Выделить всё
ReadFile(fHandle,aBuff,s,c,nil)пишем
Код: Выделить всё
WriteFile(fHandle,aBuff,aSize,c,nil)закрываем
Код: Выделить всё
CloseHandle(fHandle);Помнить нужно одно что в WinCE OVERLAPPED структуры неподдерживаются!
п.с. А вообще читайте msdn!
По-хорошему, нужно еще параметры ком-порта выставлять.
Я делаю так:
EntryProps - мой объект с требуемыми параметрами ком-порта.
Кстати вопрос по-ходу дела. А что за прикол с двоеточием в имени порта? Я на это тоже наткнулся, но так и не понял зачем оно нужно.
Я делаю так:
Код: Выделить всё
SetupComm(fHandle,$2000,$2000);
GetCommState(fHandle,Dcb) then Exit;
Dcb.BaudRate := Cardinal(EntryProps.IntAttr[0]);
Dcb.ByteSize := EntryProps.IntAttr[1];
Dcb.Parity := EntryProps.IntAttr[2];
Dcb.StopBits := EntryProps.IntAttr[3];
SetCommState(fHandle,Dcb);
PurgeComm(fHandle,PURGE_TXCLEAR or PURGE_RXCLEAR);
SetCommMask(fHandle,EV_RXCHAR);
EntryProps - мой объект с требуемыми параметрами ком-порта.
Кстати вопрос по-ходу дела. А что за прикол с двоеточием в имени порта? Я на это тоже наткнулся, но так и не понял зачем оно нужно.
Bupyc писал(а):Кстати вопрос по-ходу дела. А что за прикол с двоеточием в имени порта? Я на это тоже наткнулся, но так и не понял зачем оно нужно.
Это так идеологи WinCE идентифицируют устройства в отмезку файловой системе. По аналогии с обычной виндой \.\\[Dev]
пример: COM2:, RIL1:, GPS1: и т.д.
п.с. кстати нумера портов могут быть только в диаппазоне COM1:..COM9:
з.ы. для GPS необязательно выставлять параметры порта. так как встроенные приёмники обычно работают на авто определении скорости и параметров.
А в каких модулях определены константы типа GENERIC_READ?
Windows
Пабло писал(а):А в каких модулях определены константы типа GENERIC_READ?
Может Вам сначало всётаки почитать МСДН?
Mr.Smart писал(а):Может Вам сначало всётаки почитать МСДН?
Будь снисходителен к человеку, в МСДН про модуль Windows.pas ни слова
