Официальный форум СВД Встраиваемые Системы
10 Декабря, 2016, 07:56:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Функция dev_read() в QNX 4.25  (Прочитано 3551 раз)
Vitalym
Пользователь

Сообщений: 10


« : 09 Октября, 2014, 19:53:34 »

Использую dev_read() для чтения из COM порта.
Если ее запускать по таймеру, то все нормально.
Если ее запускать в потоке с примерно тем же периодом, то она постоянно возвращает (-1).
В Helpе написано, что она поддерживает Tread !!!
Может кто подскажет в чем дело Huh?
Записан
Василий Дмитриев
Опытный пользователь

Сообщений: 295



« Ответ #1 : 10 Октября, 2014, 09:04:37 »

А сырцы для нетелепатов? А то телепаты в отпуске.
Записан

Санкции! Запрещаю Бараку Обаме и членам конгресса США читать мои посты!
Vitalym
Пользователь

Сообщений: 10


« Ответ #2 : 10 Октября, 2014, 17:21:09 »

int
Timer2( PtWidget_t *widget, ApInfo_t *apinfo, PtCallbackInfo_t *cbinfo )

   {

   /* eliminate 'unreferenced' warnings */
   widget = widget, apinfo = apinfo, cbinfo = cbinfo;

   size_read = dev_read( fdCOM, Buf, 2048,   2048, 1, 1,   0, 0 );

   return( Pt_CONTINUE );

   }


void
Thread2(void *parm)

   {

   parm = parm;

   while(1){
      size_read = dev_read( fdCOM, Buf, 2048,   2048, 1, 1,   0, 0 );
      tdelay(100);
   }

//   _endthread();

   }

По таймеру читает как надо, по треду всегда (-1)
Записан
deadarcher
Пользователь

Сообщений: 61


« Ответ #3 : 16 Октября, 2014, 08:21:08 »

Распечатайте errno. Если EINVAL, то скорее всего fdCOM придется открыть в самом треде. в 4рке файловые дескрипторы уникальны для каждого потока.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2016 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 01 Декабря, 2016, 09:46:12