<=========== ОТКРЫТИЕ ПОРТА ======================>
port = ::open(sPort, O_RDWR | O_NOCTTY | O_NDELAY);
if(port == -1)
{
prn_error("невозможно открыть");
return 1;
}
.......
if(error==-1)
{
::close(port);
prn_error("невозможно изменить настройки ");
return1;
}
new_port_settings.c_cflag = baudr | CS8 | CLOCAL | CREAD;
new_port_settings.c_iflag = IGNPAR;
new_port_settings.c_oflag = 0;
new_port_settings.c_lflag = 0;
new_port_settings.c_cc[VMIN] = 0;
new_port_settings.c_cc[VTIME] = 0;
error = tcsetattr(port, TCSANOW, &new_port_settings);
if(error==-1)
{
close(port);
prn_error("невозможно применить параметры ");
return 1;
}
if(ioctl(port, TIOCMGET, &status) == -1)
{
perror("невозможно получить статус порта");
return 1;
}
......
if(ioctl(port, TIOCMSET, &status) == -1)
{
.........
return 1;
}
<======= чтение из порта ==========>
int n = ::read(port, buf, size);
<======= запись в порт ==========>
int = ::write(port, &bytes, size);