Нужно написать программу для обмена данными с устройством по виртуальному COM порту. Прога утыкается в ReadFile и дальше не едет. Пробовал разные примеры что нашел в сети - результат тот же.
#include <Windows.h>
#include <iostream>
using namespace std;
int main()
{
DCB dcb;
HANDLE port = CreateFile("COM9",
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
BuildCommDCB("baud=9600 parity=N data=8 stop=1", &dcb);
char buf_out[1024] = "$016";
char buf_in[1024];
DWORD oSize = sizeof(buf_out);
DWORD BytesWritten;
DWORD iSize;
while (1)
{
WriteFile(port, buf_out, oSize, &BytesWritten, NULL);
ReadFile(port, &buf_in, sizeof(buf_in), &iSize, 0);
cout << buf_in << endl;
}
CloseHandle(port);
system("pause");
return 0;
}
Всё правильно, ReadFile это блокирующая операция. После её вызова она ожидает прихода данных. Так как ты данные не посылаешь, она их всё время ожидает.
Напиши отдельное маленькое приложение которое будет посылать данные на указанный порт. Бонусом будет использование не winapi, а boost.asio.
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Имеется проблема, я понимаю как отправлять данные на com порт, но не знаю как получить ответВот так отправляю: int sendData(unsigned char* buff,int len)
В gdb ввожу команду next и прыгаю на 100 строку, потом на 97 потом на 100 потом на 97 потом на 100 потом на 103Не ну понять почему с 97 на 100 можно
При запуске программы на OpenGL у меня вылезла ошибка о несовместимости 16-разрядной программы, с 32-битной системой
Подскажите, происходит ли реальное дублирование ключей при вставке значений с одинаковым ключом в std::multimap?