Информационные технологииStfw.Ru 🔍

Работа с COM портами (CreateFile)

🕛 30.10.2006, 14:36
В этой главе будет написана программа, которая работает с 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;
...
...
Ну вот и всё, приложение готово.

Visual C++ для начинающих   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉