Article View: es.comp.os.linux.programacion
Article #1074Re: Enviar ctrl-z por el puerto serie
From: Gonzalo Pérez de Olaguer Córdoba
Date: Thu, 04 May 2006 19:41
Date: Thu, 04 May 2006 19:41
67 lines
3800 bytes
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-mailReferences:
<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)