Добрый день.
Столкнулся с такой проблемой: Работаю в 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
В чем может быть проблема?