Enviado em 21/04/2015 - 16:43h
Gostaria de saber se há algum comando que me permite visualizar os estados dos pinos RTS,DTR,DSR,DCD,CTS, etc ... em uma porta serial(RS232). Eu escrevi este programinha para testar os estados dos pinos:
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <termios.h>
#include <unistd.h>
#include <stdio.h>
#include <err.h>
#include <stdint.h>
int ler_pino(int fd,int pino)
{
int serial_status;
if (ioctl(fd, TIOCMGET, &serial_status) == -1)
err(-1,"ioctl()");
return (serial_status & pino) ? 1 : 0;
}
int main(int argc, char *argv[])
{
char * dispositivo;
int fd;
argc--;
if (argc == 0)
err(1,"Uso: ./a.out dispositivo\n");
dispositivo = argv[argc];
fd = open(dispositivo,O_RDWR);
if (fd == -1)
err(-1,"%s",dispositivo);
printf("RTS = %i\n", ler_pino(fd, TIOCM_RTS));
printf("DTR = %i\n", ler_pino(fd, TIOCM_DTR));
printf("DSR = %i\n", ler_pino(fd, TIOCM_DSR));
printf("DCD = %i\n", ler_pino(fd, TIOCM_CAR));
printf("CTS = %i\n", ler_pino(fd, TIOCM_CTS));
close(fd);
return 0;
}
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Os navegadores "leves" que de leves não tem nada
Liberte-se: Crie um Servidor Proxy na Nuvem para Acessar Conteúdos Bloqueados
Deixando o Opensuse Tumbleweed com KDE bonitão
Estrutura de recuo PHP/Apache para não acessarem arquivos pela URI (barra de endereços)
Escanear a rede com NBTSCAN para descobrir IPs e nomes de computadores
Como instalar ou remover ambientes gráficos facilmente no openSUSE