Добавил:
Mymnan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сборка Часть1 / avmis_labs / неразобрано / 501 / Лаб_СОМ / Зычков С.А / com / Reader / Reader / Reader
.cpp#include "stdafx.h"
#include <windows.h>
#include "stdio.h"
#include <conio.h>
#include <tchar.h>
#include <iostream>
int main(void)
{
HANDLE port = CreateFile(L"COM2", GENERIC_READ | GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(port==INVALID_HANDLE_VALUE)
{
std::cout << "Can't open port" << std::endl;
getch();
exit(-1);
}
else
{
std::cout << "Port open." << std::endl;
}
DCB ourdcb;
GetCommState(port,&ourdcb);
COMMTIMEOUTS ourporttimeout;
ourporttimeout.ReadIntervalTimeout = MAXDWORD;
ourporttimeout.ReadTotalTimeoutMultiplier = 0;
ourporttimeout.ReadTotalTimeoutConstant = 0;
ourporttimeout.WriteTotalTimeoutMultiplier = 0;
ourporttimeout.WriteTotalTimeoutConstant = 1000;
SetCommTimeouts(port, &ourporttimeout);
ourdcb.ByteSize = 8;
ourdcb.Parity = NOPARITY;
ourdcb.StopBits = ONESTOPBIT;
ourdcb.BaudRate = CBR_9600;
SetCommState(port,&ourdcb);
char *buf = new char [512]; // буфер для передаваемого сообщения
DWORD bytesread=0;
//DWORD bytestosend=0;
while(true)
{
memset(buf,0,512);
bool succes = ReadFile(port,buf,512,&bytesread,NULL);
if(!succes)
{
std::cout << "Getlasterror " << GetLastError() << std::endl;
getch();
}
if(bytesread>0)
{
std::cout << " Bufer: "<<buf;
std:: cout << "bytes read " << bytesread << std::endl;
}
}
CloseHandle(port);
return 0;
}