В рамках проекта WindowsCE, C++, я пытаюсь работать с устройствами, подключенными через «настоящие» последовательные порты и/или последовательные порты USB («виртуальные» последовательные порты); моя проблема - когда я пытаюсь открыть порт, если что-то пойдет не так, функция никогда не вернется, и система переходит в какое-то нечувствительное состояние и должна быть в конечном итоге перезагружена. Мне нужно открыть порты из основного потока. Вопрос в том, как я могу сделать это контролируемым образом? это открытие фрагмент кода:встроенный разработчик. вопрос - как освободиться от неисправного открытия последовательного порта?
std::ostringstream device_name;
device_name << "\\\\.\\COM" << port;
m_port = ::CreateFile(device_name.str().c_str(),
GENERIC_READ | GENERIC_WRITE,
0, // exclusive access
NULL, // no security
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED, // overlapped I/O
NULL); // null template
любые предложения будут высоко оценили
спасибо!
Я обязательно попробую открыть порт в другом потоке - в ближайшем будущем - от того, что я здесь получаю, никто не был потрясен этой идеей, так что это могло бы просто сработать –