Всем привет, столкнулся с такой странной проблемой, пишу прогу на Win API по работе с COM портом, данные в порт подаются с микроконтроллеров, все работает кроме com порта платы Arduino UNO, самое главная STM32 и прочие работают работает, а ардуиновский порт не видит программа. Пишу в Visual Studio 2019 Вот код, он в принципе простой как две копейки, в интернете нарыл:
#include <Windows.h>
#include <iostream>
using namespace std;
HANDLE hSerial;
void ReadCOM()
{
      DWORD iSize;
      char sReceivedChar;
      while (true)
      {
            ReadFile(hSerial, &sReceivedChar, 1, &iSize, 0);
			if (iSize > 0)
				cout << sReceivedChar;
      }
}
int _tmain(int argc, _TCHAR* argv[])
{
	LPCTSTR sPortName = L"COM11";  
	hSerial = ::CreateFile(sPortName,GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
	if(hSerial==INVALID_HANDLE_VALUE)
	{
		if(GetLastError()==ERROR_FILE_NOT_FOUND)
		{
			cout << "serial port does not exist.\n";
		}
		cout << "some other error occurred.\n";
	}
	DCB dcbSerialParams = {0};
	dcbSerialParams.DCBlength=sizeof(dcbSerialParams);
	if (!GetCommState(hSerial, &dcbSerialParams))
	{
		cout << "getting state error\n";
	}
	dcbSerialParams.BaudRate=CBR_9600;
	dcbSerialParams.ByteSize=8;
	dcbSerialParams.StopBits=ONESTOPBIT;
	dcbSerialParams.Parity=NOPARITY;
	if(!SetCommState(hSerial, &dcbSerialParams))
	{
		cout << "error setting serial port state\n";
	}
	char data[] = "Hello from C++";
	DWORD dwSize = sizeof(data);
	DWORD dwBytesWritten;
	LPOVERLAPPED ov;
	BOOL iRet = WriteFile (hSerial,data,dwSize,&dwBytesWritten ,NULL);
	cout << dwSize << " Bytes in string. " << dwBytesWritten << " Bytes sended. " << endl;
	while(1)
	{
		ReadCOM();
	}
	return 0;
}