🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #1074

Re: Enviar ctrl-z por el puerto serie

#1074
From: Gonzalo Pérez de Olaguer Córdoba
Date: Thu, 04 May 2006 19:41
67 lines
3800 bytes
Hola "Eismann" <g.eismann@gmail.com>
el 4 May 2006 05:15:01 -0700 escribiste:

> Holas,
> 
> Estoy haciendo un programa para enviar SMS con un modem que estĂĄ
> conectado al puerto serie.
> El programa funciona en mi ordenador, pero a la hora de llevarlo a
> uClinux (linux empotrado) se queda tonto.
> El problema que tengo es que para indicarle al modem que se ha
> terminado de redactar el mensaje, hay que mandarle el carĂĄcter ctrl-z
> (0x1A), y parece ser que no le llega al modem, que se queda frito
> esperando hasta que llegue el dichoso caracter.
> 
> Supongo que serĂĄ porque es un caracter de control y los drivers del
> puerto serie lo tratan de otra manera, y no lo mandan, pero ya no sé
> que probar para que le llegue al modem.
> 
> Pongo aqui como inicializo termios:
> 
> ----------------------
> /* Esto para abrir el modem */
> fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY );
> 
> [...]
> 
> newtio->c_cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD;
> newtio->c_iflag = IGNPAR | ICRNL;
> newtio->c_oflag = OCRNL;
> newtio->c_lflag = ICANON;
> 
> newtio->c_cc[VINTR]    = 0;     /* Ctrl-c */
> newtio->c_cc[VQUIT]    = 0;     /* Ctrl-\ */
> newtio->c_cc[VERASE]   = 0;     /* del */
> newtio->c_cc[VKILL]    = 0;     /* @ */
> newtio->c_cc[VEOF]     = 4;     /* Ctrl-d */
> newtio->c_cc[VTIME]    = 0;     /* inter-character timer unused */
> newtio->c_cc[VMIN]     = 1;     /* blocking read until 1 character
> arrives */
> newtio->c_cc[VSWTC]    = 0;     /* '\0' */
> newtio->c_cc[VSTART]   = 0;     /* Ctrl-q */
> newtio->c_cc[VSTOP]    = 0;     /* Ctrl-s */
> newtio->c_cc[VSUSP]    = 0;     /* Ctrl-z */
> newtio->c_cc[VEOL]     = 0;     /* '\0' */
> newtio->c_cc[VREPRINT] = 0;     /* Ctrl-r */
> newtio->c_cc[VDISCARD] = 0;     /* Ctrl-u */
> newtio->c_cc[VWERASE]  = 0;     /* Ctrl-w */
> newtio->c_cc[VLNEXT]   = 0;     /* Ctrl-v */
> newtio->c_cc[VEOL2]    = 0;     /* '\0' */
> 
> tcsetattr(fd,TCSANOW,newtio);
> --------------------
> 
> Lo que no sé es por qué en el ordenador me funciona, pero luego con
> uClinux no. En el ordenador tengo el kernel 2.6 y con uClinux uso el
> 2.4.
> 
> ¿Álguien sabe como hacer para mandar caracteres especiales por el
> puerto serie? Por lo menos para saber si lo estoy haciendo bien y
> buscar el error por otro lado.

¿Qué es MODEMDEVICE?
¿Qué funciones utilizas para "escribir" en el puerto serie?

-- 
Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es>
PGP key 2861C704 --- F206 5671 6789 425D 111C  1302 214F 1934 2861 C704
Technical Details
Message-ID: <20060504214159.63717fef@petres.salonet.snet>
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news.glorb.com!news.antakira.com!antonio.escomposlinux.org!reboot.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mail
References: <1146744901.939179.199040@g10g2000cwb.googlegroups.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,9b06656b9f258289
X-Google-Attributes: gidf86c8,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news2.google.com!news3.google.com!news.glorb.com!news.antakira.com!antonio.escomposlinux.org!reboot.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mail
From: Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Enviar ctrl-z por el puerto serie
Date: Thu, 4 May 2006 21:41:59 +0200
Organization: escomposlinux.org
Lines: 67
Message-ID: <20060504214159.63717fef@petres.salonet.snet>
References: <1146744901.939179.199040@g10g2000cwb.googlegroups.com>
NNTP-Posting-Host: 59.red-80-25-103.staticip.rima-tde.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable
X-Trace: hercules.cohp1 1146771720 15026 80.25.103.59 (4 May 2006 19:42:00 GMT)
X-Complaints-To: newsmaster@news-17.escomposlinux.org
NNTP-Posting-Date: Thu, 4 May 2006 19:42:00 +0000 (UTC)
X-Newsreader: Sylpheed-Claws 1.0.4 (GTK+ 1.2.10; i386-pc-linux-gnu)