Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прием данных с FT232
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Galkule
Здравствуйте!
Очень требуется помощь.
Есть устройство, в котором FT232 по СОМ порту регулярно высылает массивы данных. Время между массивами не известно, может быть в секунду несколько раз. Мне надо написать свою DLL, в которой были реализованы функции Открыть порт, Закрыть порт, записать в порт, и прочитать с порта. Используя ftd2xx.dll. Среда разработки Borland CBuilder 6.
Если FT_Read вызывается в DLL внутри функции, ну скажем ReadPort(...), то чтение происходит правильно, а если я в моей DLL создаю поток, и вызываю FT_Read внутри потока, то данные не считываются:
ftStatus = FT_Read( ftHandle, buf, CountW, &numout);
ftStatus = 4, и numOut = 0;
Аналогично внутри потока не работает пара
ftStatus = FT_SetEventNotification(ftHandle,EventMask,hEv);
DWORD dwRetCode = WaitForSingleObject(hEv,50); Т.е данные в буфере передачи есть, а event не срабатывает.
Поскольку данные приходят с утройства без запроса, то мне предпочтительно делать независимый поток, который бы занимался чтением данных и сигналил в вызывающий процесс. Других вариантов я не знаю. Собственно,опыта у меня негусто.
Вопрос. Почему из потока внутри DLL не читаются данные? Возможны ли другие варианты чтения в данной конфигурации?
Спасибо откликнувшимся заранее.
Galkule
Думаю тему можно закрыть, я нашла выход из положения, сделала чтение без потоков через компонент TTimer.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.