Обмениваться данными через Com порт можно при помощи функций CreateFile, WriteFile. Например так:
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);
}
Если указать "COM1", вместо "\\\\.\\COM1" выбор номера ком порта будет ограничен (1-9).
Самый удобный способ работы с com портом - компонент для C++ Builder
Slydiman Commport. Изначально разработан для Builder 5,6. Но с небольшими доработками может быть установлен в CodeGear RAD Studio Builder 2010.
Для этого необходимо:
В меню Builder 2010 выбираем File -> open и выбираем фаил Comm.bpk, нам предложат улучшить проект (Upgrading Project)
Нажимаем OK.
Затем для открытого проекта делаем Build.
Проект не смог откомпилироваться, поскольку со времен Builder 6.0 произошли некоторые изменения.
Для успешной сборки необходимо внести некоторые правки:
В файле CommPort.cpp необходимо поменять сточку
Application->MessageBox("Can't open COM port", "COM port error", MB_OK | MB_ICONSTOP );
на
Application->MessageBox(L"Can't open COM port", L"COM port error", MB_OK | MB_ICONSTOP );
, строчку
Application->MessageBox("Invalid combination (6,7 or 8 data bits with 1.5 stop bits)",
"COM port warning", MB_OK | MB_ICONWARNING );
на
Application->MessageBox(L"Invalid combination (6,7 or 8 data bits with 1.5 stop bits)",
L"COM port warning", MB_OK | MB_ICONWARNING );
, строчку
Application->MessageBox("Invalid combination (5 data bits with 2 stop bits)",
"COM port warning", MB_OK | MB_ICONWARNING );
на
if( FStopBits == sb2_0 )
Application->MessageBox(L"Invalid combination (5 data bits with 2 stop bits)",
L"COM port warning", MB_OK | MB_ICONWARNING );
Повторное построение пройдет с небольшим колличеством предупреждений(warning).
Затем устанавливаем созданный компонет, для етого необходимо выбрать Component -> Install Packages... -> Add...
Здесь необходимо выбрать созданный фаил Comm.bpl
После чего в списке установленных компонентов появится наш компонент.
Воспользоваться им можно если выбрать его в Tool Pallete и кинуть на форму
Теперь можно с ним работать