Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Debian ttyS0 чтение с rs232
Показать сообщение отдельно

Новый участник


Сообщения: 8
Благодарности: 1

Профиль | Отправить PM | Цитировать


компилю g++ -o rs232 rs232.cpp
Код: Выделить весь код
	sleep(1);
/*	fd_set rfds;
   struct timeval tv;
   int retval;
	
	FD_ZERO(&rfds);
	FD_SET(fd, &rfds);
	
	tv.tv_sec = 1;
	tv.tv_usec = 0;
	
	retval = select(fd, &rfds, NULL, NULL, &tv);
	
	if (retval){*/
		int srb;
		ioctl(fd, FIONREAD, &srb);
		readRS=new BYTE[srb];
	   int rb=read(fd,readRS,srb);
  		if (rb>=0){
	  		printf("read: %i\n",rb);
	  		for(int i=0;i<rb;i++){
   			printf("0x%02X ",readRS[i]);
   		}
	  		printf("\n");
		}else{
			printf("ERROR: %u\n", errno);
			perror("not read: ");
		}
/*	}
	 else{
		printf("TimeOut\n");
	}*/
	close(fd);
	return 0;
а так работает, только физически отвечает вторая машина, а не прибор, который может не успеть сгенерить ответное сообщение или быть совсем выключен

Последний раз редактировалось menart, 07-07-2011 в 01:19.


Отправлено: 01:13, 07-07-2011 | #2

Название темы: Debian ttyS0 чтение с rs232