<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3020" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV>
<DIV><FONT face=Arial size=2>Hola,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>gracias Steven por la aclaración y Diego de nada, 
aquí estamos todos para ayudarnos.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Diego yo en tu caso vería la opción de usar el 
puerto paralelo en vez del serie. Conectaría la línea en la que se van a 
producir los cambios en el pin de datos menos significativo (LSB). Luego 
deberías establecer la frecuencia con la que quieres muestrear la la línea, es 
decir leer los datos del puerto a partir del conocimiento de tu dispositivo, 
porque supongo que puedes estimar una frecuencia de muestreo para no cometer 
mucho error en las medidas de la anchura de los pulsos. Ojo en un puerto serie 
que sigue la norma RS-232 la tensiones oscilan entre +15 y -15V, el  puerto 
pararalelo trabaja con 0 y 5V, aunque lo mismo si tu dispositivo no transmite 
con ningún protocolo tampoco sigue los niveles de tensión del 
RS-232.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Para hacerlo con puerto serie, para que el PC se 
entere que le quieres enviar datos la señal tiene que pasar de '1' (entre -3 y 
-15V) a '0' (de 3 a 15V) que es el bit de inicio o los que hayan, para decirle 
que el dato termina se necesita enviar los bits de parada (paso de '0' a '1') 
establecidos al configurar la comunicación. Entonces claro se podría usar una 
función para ver si hay datos en el puerto, mientrás no hayan la señal ha 
permanecido a '1' por lo que la puedes contar el tiempo a partir de la velocidad 
de transmisión. Mi duda es la señal cambia de '1' a '0', la UART empieza a 
muestrear, pero si la señal no vuelve a pasar de '0' a '1' en el tiempo 
configurado del puerto (que se obtiene a partir de la velocidad) para indicar 
los bits de parada después de los bits de datos, sobrescribirá los datos 
anteriores o ocurrirá algún error.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>Lo mismo también puedes usar alguna de las líneas 
de control como mencionastes en el primer mensaje, navega, busca su significado, 
si son compatibles en voltios con tu entrada y con qué función puedes 
leerlas.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>Espero que te sirva.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>Un saludo,</FONT></DIV>
<DIV><FONT face=Arial size=2>Juan Antonio.</FONT> </DIV></DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=diegogeid@gmail.com href="mailto:diegogeid@gmail.com">D1e6o!</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  title=cconclase@listas.conclase.net 
  href="mailto:cconclase@listas.conclase.net">Lista de correo sobre C y C++</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, January 26, 2007 4:52 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [C con Clase] Ayuda Puerto 
  Serial</DIV>
  <DIV><BR></DIV>Antes que nada siempre agradezco a quienes se toman un tiempo 
  en leer o contestar mis dudas... (creo que está bien ser agradecido y saber 
  reconocer) así que Juan Antonio muchas gracias por todo (entre otros que 
  leyeron)<BR><BR>El tema es el siguiente: (y te entiendo que no me hayas 
  entendido.. je, no me expliqué muy bien) estoy intentando analizar lógicamente 
  datos asincrónicos, que no poseen bits de stop ni de paridad ni nada por el 
  estilo, a eso me refería sin protocolo, ya que para eso necesitaría conectar 
  un microcontrolador y no, el circuito ya está armado así. Entonces debería 
  comuncarme con el pc y que este detecte el ancho (en tiempo) de los pulsos, 
  que no de error y poder almacenar en un buffer el tiempo entre un '1' lógico y 
  un '0' y viceversa, y a eso viene mi pregunta, como podría hacer para 
  lograrlo? Sé que se puede, pero no se como... El problema central es conocer 
  en tiempo cuando cambia de estado el pin dts, y si es posible asignarle alguna 
  interrupción o algo por el estilo para poder almacenar en una pila estas 
  duraciones. <BR><BR>Muchas gracias! (y perdón por expresarme 
  mal)<BR><BR>Saludos!<BR><BR>
  <DIV><SPAN class=gmail_quote>El día 25/01/07, <B class=gmail_sendername>Juan 
  Antonio</B> <<A href="mailto:jalr43@hotmail.com">jalr43@hotmail.com 
  </A>> escribió:</SPAN>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
    <DIV bgcolor="#ffffff">
    <DIV><FONT face=Arial size=2>Hola Diego,</FONT></DIV>
    <DIV><FONT face=Arial size=2></FONT> </DIV>
    <DIV><FONT face=Arial size=2>no lo encuentro sentido a medir la anchura de 
    los pulso cuanto depende exclusivamente de la velocidad a la que tengas 
    configurado el puerto. Por ejemplo si la velocidad es de 9600 bps, es decir 
    9600 bits por segundo la anchura de cada bit que se transmite es 1/9600 = 
    104.16 microsegundos. Entonces cuando se hayan transmitido 9600 bits habrá 
    pasado un segundo, 104.16 microsegundos = 1/9600 que por 9600 devuelte 1 
    segundo.</FONT></DIV>
    <DIV><FONT face=Arial size=2></FONT> </DIV>
    <DIV><FONT face=Arial size=2>Si los datos los vas a leer en un PC, lo que se 
    envía por el puerto deberías seguir la norma RS-232, porque el puerto del PC 
    conecta con una UART que se encarga de quitar de la trama los bits de 
    comienzo y parada almacanando el dato resultante en una pila.</FONT></DIV>
    <DIV><FONT face=Arial size=2></FONT> </DIV>
    <DIV><FONT face=Arial size=2>Yo hicé un diseño una vez creando el protocolo 
    RS-232 es tan fácil como tener la rutina de espera de un bit: poner la línea 
    con el valor del bit, rutina de espera de un bit, poner el la línea el 
    siguiente valor, etc. Lógicamente si los bits de parada, comienzo no son 1 ó 
    2, por ejemplo 1.5 bits también hace falta una rutina de espea de 1/2 
    bit.</FONT></DIV>
    <DIV><FONT face=Arial size=2></FONT> </DIV>
    <DIV><FONT face=Arial size=2>Si explicas con más detalle tu 
    problema quizá te pueda ayudar, es decir conecto en el pueto serie del PC un 
    cacharro que cambia el valor de la señal que transmite sin ningún 
    protocolo.</FONT></DIV>
    <DIV><FONT face=Arial size=2></FONT> </DIV>
    <DIV><FONT face=Arial size=2>Un saludo,</FONT></DIV>
    <DIV><FONT face=Arial size=2>Juan Antonio.</FONT></DIV>
    <BLOCKQUOTE 
    style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: rgb(0,0,0) 2px solid; MARGIN-RIGHT: 0px">
      <DIV><SPAN class=e id=q_1105bc790939ccd4_1>
      <DIV 
      style="FONT: 10pt arial; font-size-adjust: none; font-stretch: normal">----- 
      Original Message ----- </DIV>
      <DIV 
      style="BACKGROUND: rgb(228,228,228) 0% 50%; FONT: 10pt arial; font-size-adjust: none; font-stretch: normal; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial"><B>From:</B> 
      <A title=diegogeid@gmail.com 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="mailto:diegogeid@gmail.com" target=_blank>D1e6o!</A> </DIV>
      <DIV 
      style="FONT: 10pt arial; font-size-adjust: none; font-stretch: normal"><B>To:</B> 
      <A title=cconclase@listas.conclase.net 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="mailto:cconclase@listas.conclase.net" target=_blank>Lista de correo 
      sobre C y C++</A> </DIV>
      <DIV 
      style="FONT: 10pt arial; font-size-adjust: none; font-stretch: normal"><B>Sent:</B> 
      Thursday, January 25, 2007 7:13 PM</DIV>
      <DIV 
      style="FONT: 10pt arial; font-size-adjust: none; font-stretch: normal"><B>Subject:</B> 
      [C con Clase] Ayuda Puerto Serial</DIV>
      <DIV><BR></DIV>Hola gente, bueno estoy programando un poco con el puerto 
      serial y quería saber si alguien tiene ideas de esto: No de una 
      comunicación a través de rs232 por el puerto serial sino sin protocolo, es 
      decir, medir el ancho de los pulsos (1 y 0) para después procesarlos... Se 
      que se puede.. pero no se como, tengo entendido que es por los pines rts y 
      dtr del puerto serie pero como hago para saber el estado en tiempo real de 
      los pines?... <BR><BR>Saludos si alguien tiene algo acerca de esto 
      cualquier cosa me sirve..! <BR><BR>Gracias..<BR></SPAN></DIV>
      <P></P>
      <HR>

      <P></P>_______________________________________________<BR>Lista de correo 
      Cconclase <A onclick="return top.js.OpenExtLink(window,event,this)" 
      href="mailto:Cconclase@listas.conclase.net" 
      target=_blank>Cconclase@listas.conclase.net</A><BR><A 
      onclick="return top.js.OpenExtLink(window,event,this)" 
      href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" 
      target=_blank>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</A><BR>Bajas: 
      <A onclick="return top.js.OpenExtLink(window,event,this)" 
      href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" 
      target=_blank>http://listas.conclase.net/index.php?gid=2&mnu=FAQ</A>
      <P></P></BLOCKQUOTE></DIV><BR>_______________________________________________<BR>Lista 
    de correo Cconclase <A 
    onclick="return top.js.OpenExtLink(window,event,this)" 
    href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</A><BR><A 
    onclick="return top.js.OpenExtLink(window,event,this)" 
    href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" 
    target=_blank>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net 
    </A><BR>Bajas: <A onclick="return top.js.OpenExtLink(window,event,this)" 
    href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" 
    target=_blank>http://listas.conclase.net/index.php?gid=2&mnu=FAQ</A><BR><BR></BLOCKQUOTE></DIV><BR>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>Lista de correo 
  Cconclase 
  Cconclase@listas.conclase.net<BR>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net<BR>Bajas: 
  http://listas.conclase.net/index.php?gid=2&mnu=FAQ</BLOCKQUOTE></BODY></HTML>