реклама на сайте
подробности

 
 
> Прием данных с FT232, не читаются данные из потока внутри своей DLL
Galkule
сообщение May 18 2011, 11:43
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 18-05-11
Пользователь №: 65 093



Здравствуйте!
Очень требуется помощь.
Есть устройство, в котором 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 не читаются данные? Возможны ли другие варианты чтения в данной конфигурации?
Спасибо откликнувшимся заранее.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 14:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016