Foros del Web » Administración de Sistemas » Unix / Linux »

encender LED con puerto RS232 LINUX

Estas en el tema de encender LED con puerto RS232 LINUX en el foro de Unix / Linux en Foros del Web. Hola a todos, investigue en la red sobre como encender un led con el puerto LPT1 y me funciono correctamente este es el codigo funcionando, ...
  #1 (permalink)  
Antiguo 04/09/2013, 15:13
Avatar de Melecio  
Fecha de Ingreso: julio-2011
Ubicación: Coahuila
Mensajes: 320
Antigüedad: 12 años, 9 meses
Puntos: 8
encender LED con puerto RS232 LINUX

Hola a todos,

investigue en la red sobre como encender un led con el puerto LPT1 y me funciono correctamente
este es el codigo funcionando, el LED debe de ser colocado en los pines 2 y 3 para que lo puedan encender y apagar

# include <stdio.h>
# include <stdlib.h>
# include <unistd.h>
# include <sys/io.h>

// Esta es la direccion más frecuente para el puerto paralelo
#define DATAPORT 0x378

int main (void)
{
int n;

//Obtenemos permiso de acceso para la direccion de DATAPORT y
//las 2 siguientes

if (ioperm(DATAPORT, 3, 1)) {perror("ioperm"); exit(1);}
printf("EL LED ESTA ACTIVO\n");
outb(2, DATAPORT);
sleep(3);
outb(0, DATAPORT);

if (ioperm(DATAPORT, 3, 0)) {perror("ioperm"); exit(1);}

return 0;
}
-------------------------------------------------------------------
el porblema es que la pc en la que quiero implentar no tiene puerto LPT pero si tiene puerto RS232 que debo de agregar para que me pueda funcionar en el RS232, y en que pines bedo de colocar el LED.

Gracias.
  #2 (permalink)  
Antiguo 05/09/2013, 10:44
Avatar de Melecio  
Fecha de Ingreso: julio-2011
Ubicación: Coahuila
Mensajes: 320
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: encender LED con puerto RS232 LINUX

encontre este para RS232 en PERL

#!/usr/bin/perl

use Device::SerialPort;
my $port=Device::SerialPort->new("/dev/ttyS0");
my $STALL_DEFAULT=10; # how many seconds to wait for new input
my $timeout=$STALL_DEFAULT;
$port->read_char_time(0); # don't wait for each character
$port->read_const_time(1000); # 1 second per unfulfilled "read" call
my $chars=0;
my $buffer="";
while ($timeout>0) {
my ($count,$saw)=$port->read(255); # will read _up to_ 255 chars
if ($count > 0) {
$chars+=$count;
$buffer.=$saw;
# Check here to see if what we want is in the $buffer
# say "last" if we find it
}
else {
$timeout--;
}
}

if ($timeout==0) {
die "Waited $STALL_DEFAULT seconds and never saw what I wanted\n";
}


por 10 segundos apaga el LED en el pin 6,7

el detalle es que el LED siempre esta encendido al ejecutar este script lo unico que hace es que me lo apaga por 10 segundos y lo vuelve a encender pero debe de ser al reves debe de estar apagado y con el script encenderlo.
  #3 (permalink)  
Antiguo 05/09/2013, 13:00
Avatar de barna_rasta  
Fecha de Ingreso: agosto-2003
Mensajes: 214
Antigüedad: 20 años, 8 meses
Puntos: 11
Respuesta: encender LED con puerto RS232 LINUX

Tirale un ojo a esto ===> http://www.forosdeelectronica.com/f2...-serial-36787/

Suerte

Etiquetas: encender, led, linux, puerto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:26.