RTS e DTR são pinos de saída - que você pode definir.
DCD e CTS são pinos de entrada e só podem ser lidos.
O dispositivo provavelmente está configurado para handshaking de hardware por padrão. Você pode alterar isso usando tcsetattr
(consulte CRTSCTS). Então você pode usar o ioctl TIOCMBIS para definir RTS e DTR
Boas referências são:
Linux COMO FAZER Programação Serial
Os itens acima podem ser centrados no Linux.
Para ser mais POSIX, consulte Guia de programação serial para sistemas operacionais POSIX
Eu elevei este exemplo do guia:
#include <unistd.h>
#include <termios.h>
int fd;
int status;
ioctl(fd, TIOCMGET, &status);
status &= ~TIOCM_DTR;
ioctl(fd, TIOCMSET, status);
Em Stackoverflow , você pode encontrar algumas opiniões sobre como configurar a porta corretamente.