Приветствую всех!
Интересует аппаратное управление потоком при помощи CTS/RTS сигналов из userspace.
Необходимо запретить передачу на порт при помощи RTS пина. У кого-нибудь это получалось?
пробую таким макаром:
int serial, new_serial;
if ( ioctl(data_fd, TIOCMGET, &serial) ) {
fprintf(stderr, "ioctl TIOCMGET failed : %s\n", strerror(errno));
return -1;
}
if (serial & TIOCM_CTS)
puts("TIOCM_CTS is not set");
else
puts("TIOCM_CTS is set");
if (serial & TIOCM_RTS)
puts("TIOCM_RTS is not set");
else
puts("TIOCM_RTS is set");
new_serial = serial | TIOCM_CTS | TIOCM_RTS;
if ( ioctl(data_fd, TIOCMSET, &new_serial) ) {
fprintf(stderr, "ioctl TIOCMSET failed : %s\n", strerror(errno));
return -1;
}
if ( ioctl(data_fd, TIOCMGET, &serial) ) {
fprintf(stderr, "ioctl TIOCMGET failed : %s\n", strerror(errno));
return -1;
}
if (serial & TIOCM_CTS)
puts("TIOCM_CTS is not set");
else
puts("TIOCM_CTS is set");
if (serial & TIOCM_RTS)
puts("TIOCM_RTS is not set");
else
puts("TIOCM_RTS is set");
В итоге ни CTS ни RTS не изменяются.
Может кто-нибудь что-то подскажет?
===============
извиняюсь за форматирование, ни один из типов форматирования, предложенных лором не показывает код нормально.