Перейти к содержанию
    

OpenWRT программирование последовательного порта

Добрый день.

Столкнулся с такой проблемой: Работаю в opеnWRT 15.05. Программирую обмен данных по последовательному порту. Инициализировал порт, инициализация прошла успешно.

Далее я в цикле начинаю посылать пакеты и жду ответа от другого устройства таким образом

while(1)

{

//TO DO: Формирование пакета

n = write(Mb_device,trame,len);

if(n!=len)

   printf("Send Error = %d\n",n); 

 FD_ZERO(&set); /* clear the set */
 FD_SET(Mb_device, &set); /* add our file descriptor to the set */

  timeout.tv_sec = 0;
  timeout.tv_usec = 100*1000;

  rv = select(Mb_device + 1, &set, NULL, NULL, &timeout);
  if(rv == -1)
    perror("select"); /* an error accured */
  else if(rv == 0)
    printf("timeout"); /* a timeout occured */
  else
    /* read data */
    k = read(Mb_device,read_data,128);

}

Программа проходит несколько циклов и завершается сообщением I/O possible

В чем может быть проблема?

Изменено пользователем alexey123_45

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...