Я создаю интерфейс UART с MFC, интерфейс включает открытое соединение, отправку сообщения и получение сообщения. Я думал, что открыл порт нормально, после проверки, мой разъем D9 сидит над COM5, который успешно открылся. Проблема в том, что даже при изменении соединения с COM5 на необоснованный COM535 я все равно не получил никаких ошибок
Я пробовал несколько COM-портов, некоторые из них разумные, а некоторые нет.
ЭтоВот как я инициализирую соединение с плохим COM:
Serial::Serial(CString &commPortName, int bitRate)
{
commHandle = CreateFile(L"\\\\.\\COM535", GENERIC_READ|GENERIC_WRITE, 0,NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED , NULL);
if(commHandle == INVALID_HANDLE_VALUE)
{
throw("ERROR: Could not open com port");
}
else
{
// set timeouts
COMMTIMEOUTS cto = { MAXDWORD, 0, 0, 0, 0};
DCB dcb;
if(!SetCommTimeouts(commHandle,&cto))
{
Serial::~Serial();
throw("ERROR: Could not set com port time-outs");
}
// set DCB
memset(&dcb,0,sizeof(dcb));
dcb.DCBlength = sizeof(dcb);
dcb.BaudRate = bitRate;
dcb.fBinary = 1;
dcb.fDtrControl = DTR_CONTROL_ENABLE;
dcb.fRtsControl = RTS_CONTROL_ENABLE;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
dcb.ByteSize = 8;
if(!SetCommState(commHandle,&dcb))
{
Serial::~Serial();
throw("ERROR: Could not set com port parameters");
}
}
}
Когда я подключаюсь к COM5, все хорошо, но я ожидаю, что у меня возникнет проблема с подключением к COM535, чего у меня нет, и это не так, как должно быть.