Приобрел у фирмы автограф измерительно-управляющий модуль CompactFlash Card для кпк. В общем штука для подключения внешних цифровых и аналоговых устройств к карманному персональному компьютеру (КПК) с операционной системой Windows CE в комплекте драйвер для нее все дела. В программировании девайсов я ламер, и вот пытаюсь программировать. С иницализацией вроде все просто, есть пример. Но не могу разобраться с параметрами устройства.
Установка параметров устройства
BOOL DeviceIoControl( HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
hDevice – HANDLE устройства dwIoControlCode – код параметра lpInBuffer – входной буфер значений параметра nInBufferSize – размер входного буфера в байтах lpOutBuffer – выходной буфер значений параметра nOutBufferSize – размер выходного буфера в байтах lpBytesReturned – байт в выходном буфере lpOverlapped – не используется, установить в NULL Возвращаемое значение - не 0 – успех, иначе ошибка (см.GetLastError() )
Коды параметров: SERCTL_SET_BAUD_RATE - установка скорости обмена DWORD - тип входного параметра (4 байта)
SERCTL_GET_BAUD_RATE - запрос скорости обмена DWORD - тип выходного параметра (4 байта)
SERCTL_SET_FLOW_CONTROL - установка режима передачи BYTE - тип входного параметра (1 байт)
SERCTL_GET_FLOW_CONTROL - запрос режима передачи BYTE - тип выходного параметра (1 байт)
Пример: BYTE ucFlow = FLOWCTL_NONE; DeviceIoControl( hDevice, SERCTL_SET_FLOW_CONTROL, (LPVOID) &ucFlow, sizeof(BYTE), 0, 0, 0, 0 ); Установлен программный контроль обмена данными.
Не могу понять как выставить частоту передачи данных. Может кто делал чтото подобное поделитесь примерами или обьясните на пальцах что означают параметры и в каких единицах они задаются.
|