
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;
}
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)
Pergunta: Meu teclado não está respondendo direito como e consertar? (2)
Secure boot, artigo interessante, nada técnico. (6)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)









