The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"настройка com порта"
Отправлено developer1, 01-Июн-07 15:17 
Помогите с настройками com порта! Работаю с сетью контроллеров: в цикле поочередно посылаю каждому запрос,затем принимаю ответ (11  байт), и т.д. Как сделать чтобы программа не ждала принятия данных и не зависала, если с каким нибудь контроллером проблемы и он не отвечает?
#define BAUDRATE B9600

int fd;
int res;
struct termios newtio;
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY);
cfmakeraw(&newtio);
newtio.c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR;
newtio.c_ofalg = 0;
newtio.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
newtio.c_cc[VTIME] = 5;
newtio.c_cc[VMIN] = 11;
res = tcsetattr(fd,TCANOW,&newtio);

for(;;)
{
    for(int k=1;k<=10;k++) //кол-во контроллеров
     {
      for(int i=0;i<5;i++)
        res = write(fd,&buf_out[i],1);

       res = read(fd,&buf_in,11);
      // ......  
      }
}

   for(

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру