Arduino работает нормально, со скоростью передачи данных 9600 бод я получаю значение, которое могу прочитать на последовательном мониторе 2 в Visual Studio.
Но теперь я хотел бы прочитать это значение с помощью моего приложения и нарисовать его на диаграмме XY (со значением, отображаемым на оси Y, а время на оси Y). ось X).
Я уже поместил следующий код в функцию OnInitDialog() моего приложения:
Код: Выделить всё
m_hCom = CreateFileW(m_sComPort,GENERIC_READ | GENERIC_WRITE, 0,NULL, OPEN_EXISTING, 0, NULL);
SetupComm(m_hCom, 128, 128);
GetCommState(m_hCom, &m_dcb);
m_dcb.BaudRate = 9600;
m_dcb.ByteSize = 8;
m_dcb.Parity = NOPARITY;
m_dcb.StopBits = ONESTOPBIT;
m_dcb.fAbortOnError = TRUE;
SetCommState(m_hCom, &m_dcb);
SetCommMask(m_hCom, EV_RXCHAR);
Код: Выделить всё
HANDLE m_hCom;
CString m_sComPort = L"COM4";
DCB m_dcb;
DWORD iBytesWritten;
DWORD iBytesRead;
Я установил событие таймера с помощью следующего кода:
Код: Выделить всё
char sBuffer[128];
ReadFile(m_hCom, &sBuffer, 8, &iBytesRead, NULL);
[*]Правильно ли событие SetTimer-Event для этого типа операций?
[*]Как работает сбор значений внутри MFC, не слишком ли велика переменная sBuffer?
Подробнее здесь: https://stackoverflow.com/questions/798 ... i-h-in-mfc
Мобильная версия