Программирование на Visual C++

Google
  Главная   Новости   Статьи   Книги   Ссылки  

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

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

Ну вот и всё, приложение готово.

Содержание

Используются технологии uCoz