Главная | Новости | Статьи | Книги | Ссылки |
В этой главе будет написана программа, которая работает с COM портом.
Для этого будут использоваться следующие функции:
HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORDdwFlagsAndAttributes, HANDLE hTemplateFile);
и
BOOL WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped );
Первый параметр функции CreateFile - имя файла, но если вы поставите там
имя COM1, то эта функция будет работать с первым COM портом. Также можно поставить:
COM2, COM3, COM4, LPT, CON, AUX.
Ниже приведён кусок кода записи данных в COM порт.
... ... HANDLE hCOM=CreateFile("COM1",GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if (hCOM!=INVALID_HANDLE_VALUE) { cout << "COM1 is open OK!" << endl; char buffer[30]; memset(buffer,0,sizeof(buffer)); strcpy(buffer,"SAVE TO COM1"); DWORD nb; OVERLAPPED ov; WriteFile(hCOM,buffer,sizeof(buffer),&nb,&ov); CloseHandle(hCOM); } else cout << "Error Open COM1" << endl; ... ...
Ну вот и всё, приложение готово.