Доброго времени суток. Надеюсь, что не займу у вас много времени.

Мне нужно было сделать программу, которая с определённым интервалом опрашивала бы прибор и записывала значение в файл. Работаю я на VS2010 C++ приложение на основе диалоговых окон.

Для начала скажу, подключиться к прибору и считывать значение у меня удалось. Всё это я сделал в "тестовой кнопке", т.е. в одном потоке. А вот когда начал всё разносить по разным кнопкам столкнулся с проблемой.

В кнопке старт я открываю порт (OpenPort) и делаю активным (SelectPort). Во второй кнопке Start я устанавливаю параметр (STP = true). В этой же кнопке я перехожу в функцию в которой и будут считываться значения и пока я не нажму на другую кнопку, где параметр установится в STP = false. В самой функции у меня есть цикл while(STP) в нём то и находится ReadIEEE32, с помощью которого я считываю значения температуры. Но при считывании мне выдаётся код ошибки -2, т.е. нет открытого порта.

Читал на форуме, что может помочь перейти на новую библиотеку и сделать порт активным, но это не сработало. Работать в одном потоке нет возможности, так как нужно выходить из цикла.

Подскажите пожалуйста, как можно решить данную ситуацию. Заранее спасибо.