[C con Clase] Linux Puerto Serie

Jorge Mazzonelli jmazzonelli en gmail.com
Mie Mar 12 19:49:55 CET 2008


Hola,

     por curiosidad sobre el tema estuve buscando en Google. Y encontre este
ejemplo que te puede ser util:
http://www.comptechdoc.org/os/linux/programming/c/linux_pgcserial.html
"A linux serial port test program" (un programa de test de puerto serie para
linux)

Creo que eso un buen ejemplo de lo que podrias hacer con un puerto serie
(basico). Como dijo InfoDSD todo es un archivo en linux por lo que los
puertos serie son /dev/ttyS0 para el com1, /dev/ttyS1 para el com2, etc....
Recomiento la lectura de la documentacion de termios y el siguiente
documento: Serial Programming Guide for POSIX Operating Systems [
http://www.easysw.com/~mike/serial/serial.html]

Espero que te sea util.

Jorge

On Wed, Mar 12, 2008 at 9:18 AM, Sebastian Oldani <sebastianoldani en gmail.com>
wrote:

> Hola Section[One] gracias por responder, voy a ver tu ejemplo, aunque me
> gustaria mas un ejemplo de puerto serie, si sabes algunos comandos me
> serian muy utiles.
> Gracias de todas formas.
>
>
> Section[One] escribió:
> > hace mucho trabaje con el puerto paralelo en linux
> > no es muy complicado tengo este ejemplo:
> >
> > #include <stdio.h>
> > #include <stdlib.h>
> > #include <unistd.h>
> > #include <asm/io.h>
> >
> > #define base 0x378           /* printer port base address */
> >
> > main(int argc, char **argv)
> > {
> >   int value;
> >
> >   if (argc!=2)
> >     fprintf(stderr, "Error: Wrong number of arguments. This program
> > needs one argument which is number between 0 and 255.\n"), exit(1);
> >   if (sscanf(argv[1],"%i",&value)!=1)
> >     fprintf(stderr, "Error: Parameter is not a number.\n"), exit(1);
> >   if ((value<0) || (value>255))
> >     fprintf(stderr, "Error: Invalid numeric value. The parameter
> > number must be between 0 and 255\n"), exit(1);
> >   if (ioperm(base,1,1))
> >     fprintf(stderr, "Error: Couldn't get the port at %x\n", base),
> > exit(1);
> >
> >   outb((unsigned char)value, base);
> > }
> >
> >
> > en definitiba usas outb para mandar datos y inb para recibirlos
> > despues de tener permiso mediante ioperm
> >
> > Espero q te ayude un poco
> > Saludos
> > Section
> >
> >
> > 2008/3/2 Sebastian Oldani <sebastianoldani en gmail.com
> > <mailto:sebastianoldani en gmail.com>>:
> >
> >     Hola, hago una consulta, quiza alguien ya trabaje con esto.
> >     Tengo un dispositivo que fabrique, basicamente un microcontrolador
> que
> >     realiza un par de funciones con unos botones que tiene el
> dispositivo.
> >     Quiero recojer los datos en una PC por el puerto serie, obviamente
> >     este
> >     dispositivo no tiene un driver, digamos que quiero leer
> >     directamente del
> >     puerto serie y mandar datos al dispositivo.
> >     El problema es que lo quiero hacer con linux, y estuve viendo por
> >     internet algunas cosas que hablaban sobre este tema, pero no
> entiendo
> >     bien que librerias bajar y de donde configurar el puerto.
> >     Si alguien ya hizo alguna de estas cosas me podria dar alguna
> >     orientacion?? Tambien algo un poco pretencioso, pero me gustaria
> saber
> >     si alguna ide multiplataforma tiene algun objeto para hacer esto??
> >
> >
> >     Bueno gracias igual.
> >
> >     _______________________________________________
> >     Lista de correo Cconclase Cconclase en listas.conclase.net
> >     <mailto:Cconclase en listas.conclase.net>
> >
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> >     Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> >     <http://listas.conclase.net/index.php?gid=2&mnu=FAQ>
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Lista de correo Cconclase Cconclase en listas.conclase.net
> >
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080312/98025091/attachment.html>


Más información sobre la lista de distribución Cconclase