Foros del Web » Programando para Internet » Javascript »

ayuda con script de lectrura de puerto serial

Estas en el tema de ayuda con script de lectrura de puerto serial en el foro de Javascript en Foros del Web. buen dia mi duda es la siguiente tengo este script q lo he revisado y analisado y visto de diferentes formas y nada ams no ...
  #1 (permalink)  
Antiguo 25/01/2011, 11:31
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 14 años, 5 meses
Puntos: 16
ayuda con script de lectrura de puerto serial

buen dia mi duda es la siguiente tengo este script q lo he revisado y analisado y visto de diferentes formas y nada ams no me funciona y no me amrca ningun error al hacer unas validaciones resulta q nunca identifica al evento OnComm, no se si necesito instalar un activex como segun dice en el ejemplo, se utiliza el activex pero no se si exista alguno especial para el puerto instale el virtual serial port driver 6 que supuestamente me enlaza dos seriales en este caso com3 y com4 pero ni asi funciona les dejo el codigo original y modificado donde me di cuenta q no entra identifica el evento OnComm espero y me puedan ayudar ya q lo unico q necesito es q lea el valor q se esta enviando


codigo original, como lo encontre en el ejemplo y ya puentie los pines 2 y 3 de mi db-9 y no funciona y tambien ya puentie los 2y3 , 4y6, 7y8 que son para prueba de loopback segun la idea es q el mismo dato q envia, lo recibe por el mismo puerto y no me funciona de ninguna forma

Código HTML:
Ver original
  1. <title>Puerto serie con javascript</title>
  2. function conectar() {
  3.     objSerie.CommPort = document.forma.puertoSerie.value;
  4.     objSerie.PortOpen = true;
  5.     forma.cadena.value = "";
  6.     forma.cadena.focus();
  7.     forma.texto.value += "Conectado\n"
  8. }
  9. function desconectar() { objSerie.PortOpen = false; }
  10. function enviar() {
  11.     var cadena = forma.cadena.value;
  12.     objSerie.Output = cadena;
  13.     forma.texto.value += "local: " + cadena + "\n";
  14.     forma.cadena.value = "";
  15.     forma.cadena.focus();
  16. }
  17. function comunicacion() {
  18.     if ( objSerie.CommEvent == 2 ) {//si estamos recibiendo datos
  19.         var cadena = objSerie.Input;
  20.         forma.texto.value += "remoto: " + cadena + "\n";
  21.     }
  22. }
  23. <script language="javascript" for="objSerie" event="OnComm">comunicacion()</script>
  24.  
  25. </head>
  26.  
  27. <BODY onunload="desconectar();" style="margin:1px 0 0 10">
  28.  
  29. <OBJECT id="objSerie" classid="clsid:648A5600-2C6E-101B-82B6-000000000014" VIEWASTEXT>
  30.     <PARAM NAME="_ExtentX" VALUE="1005">
  31.     <PARAM NAME="_ExtentY" VALUE="1005">
  32.     <PARAM NAME="_Version" VALUE="393216">
  33.     <PARAM NAME="BaudRate" VALUE="9600">
  34.     <PARAM NAME="CommPort" VALUE="2">
  35.     <PARAM NAME="DataBits" VALUE="7">
  36.     <PARAM NAME="DTREnable" VALUE="1">
  37.     <PARAM NAME="EOFEnable" VALUE="0">
  38.     <PARAM NAME="Handshaking" VALUE="0">
  39.     <PARAM NAME="InBufferSize" VALUE="1024">
  40.     <PARAM NAME="InputLen" VALUE="0">
  41.     <PARAM NAME="InputMode" VALUE="0">
  42.     <PARAM NAME="NullDiscard" VALUE="0">
  43.     <PARAM NAME="OutBufferSize" VALUE="512">
  44.     <PARAM NAME="ParityReplace" VALUE="63">
  45.     <PARAM NAME="RThreshold" VALUE="1">
  46.     <PARAM NAME="RTSEnable" VALUE="0">
  47.     <PARAM NAME="ParitySetting" VALUE="0">
  48.     <PARAM NAME="SThreshold" VALUE="1">
  49.     <PARAM NAME="StopBits" VALUE="0">
  50.  
  51. <form name="forma" onsubmit="return false;">
  52. <table style="border:1 solid black" cellpadding="4" cellspacing="0">
  53.     <tr style="background:cornsilk">
  54.         <td>Conectar al puerto</td>
  55.         <td>
  56.             <select id="puertoSerie">
  57.                 <option value="1">COM1
  58.                 <option value="2">COM2
  59.             </select>
  60.         </td>
  61.         <td><input type="button" id="btnConectar" value="Conectar" onclick="conectar();"></td>
  62.     </tr>
  63.     <tr style="background:cornsilk">
  64.         <td>Enviar texto</td>
  65.         <td><input type="text" id="cadena" value="" onkeypress="if (event.keyCode==13) enviar();"></td>
  66.         <td><input type="button" id="btnEnviar" value="Enviar" onclick="enviar();"></td>
  67.     </tr>
  68.     <tr>
  69.         <td colspan=4>Texto enviado/recibido<br>
  70.             <textarea cols="50" rows="8" name="texto" value=""></textarea>
  71.         </td>
  72.     </tr>
  73.  
  74. </BODY>
  75. </HTML>

y modificado para saber si asegurarme q hace las conecciones y envio de datos

Código HTML:
Ver original
  1. <title>Puerto serie con javascript</title>
  2. function conectar() {
  3.     document.getElementById('objSerie').CommPort = document.forms["forma"].puertoSerie.value;
  4.     document.getElementById('objSerie').PortOpen = true;
  5.     if (document.getElementById('objSerie').PortOpen==true){
  6.     document.forms["forma"].cadena.value = "";
  7.     document.forms["forma"].cadena.focus();
  8.     document.forms["forma"].texto.value += "Conectado al puerto: "+document.objSerie.CommPort+"\n";
  9.     }
  10.     else{
  11.     document.forms["forma"].texto.value += "No se ha establecido la coneccion con el puerto\n";
  12.     }
  13.    
  14. }
  15. function desconectar() { document.getElementById('objSerie').PortOpen = false; }
  16. function enviar() {
  17.     var cadena = document.forms["forma"].cadena.value;
  18.     document.getElementById('objSerie').Output = cadena;
  19.     document.forms["forma"].texto.value += "cadena en objSerie.output: " + document.getElementById('objSerie').Output + "\n";
  20.     document.forms["forma"].texto.value += "local: " + cadena + "\n";
  21.     document.forms["forma"].cadena.value = "";
  22.     document.forms["forma"].cadena.focus();
  23.     }
  24. function comunicacion() {
  25. document.forms["forma"].texto.value += "entro a la funcion comunicacion\n";
  26. document.forms["forma"].texto.value += "remoto: " + document.getElementById('objSerie').CommEvent + "\n";
  27.     if ( document.getElementById('objSerie').CommEvent == 2 ) {//si estamos recibiendo datos
  28.     document.forms["forma"].texto.value += "cadena en objSerie.input: " + document.getElementById('objSerie').Input + "\n";
  29.         var cadena = document.getElementById('objSerie').Input;
  30.         document.forms["forma"].texto.value += "remoto: " + cadena + "\n";
  31.     }
  32.     else{
  33.     document.forms["forma"].texto.value += "entra pero no da el valor de: " + document.getElementById('objSerie').Input;
  34.     }
  35. }
  36. <script language="javascript" for="document.getElementById('objSerie')" event="OnComm">comunicacion()</script>
  37.  
  38. </head>
  39.  
  40. <BODY onUnload="desconectar();" style="margin:1px 0 0 10">
  41.  
  42. <OBJECT id="objSerie" classid="clsid:648A5600-2C6E-101B-82B6-000000000014" VIEWASTEXT>
  43.     <PARAM NAME="_ExtentX" VALUE="1005">
  44.     <PARAM NAME="_ExtentY" VALUE="1005">
  45.     <PARAM NAME="_Version" VALUE="393216">
  46.     <PARAM NAME="BaudRate" VALUE="9600">
  47.     <PARAM NAME="CommPort" VALUE="3">
  48.     <PARAM NAME="DataBits" VALUE="7">
  49.     <PARAM NAME="DTREnable" VALUE="1">
  50.     <PARAM NAME="EOFEnable" VALUE="0">
  51.     <PARAM NAME="Handshaking" VALUE="0">
  52.     <PARAM NAME="InBufferSize" VALUE="1024">
  53.     <PARAM NAME="InputLen" VALUE="0">
  54.     <PARAM NAME="InputMode" VALUE="0">
  55.     <PARAM NAME="NullDiscard" VALUE="0">
  56.     <PARAM NAME="OutBufferSize" VALUE="512">
  57.     <PARAM NAME="ParityReplace" VALUE="63">
  58.     <PARAM NAME="RThreshold" VALUE="1">
  59.     <PARAM NAME="RTSEnable" VALUE="0">
  60.     <PARAM NAME="ParitySetting" VALUE="0">
  61.     <PARAM NAME="SThreshold" VALUE="1">
  62.     <PARAM NAME="StopBits" VALUE="0">
  63.  
  64. <form name="forma" onSubmit="return false;">
  65. <table style="border:1 solid black" cellpadding="4" cellspacing="0">
  66.     <tr style="background:cornsilk">
  67.         <td>Conectar al puerto</td>
  68.         <td>
  69.             <select id="puertoSerie">
  70.                 <option value="3">COM3</option>
  71.                 <option value="4">COM4</option>
  72.             </select>
  73.         </td>
  74.         <td><input type="button" id="btnConectar" value="Conectar" onClick="conectar();"></td>
  75.     </tr>
  76.     <tr style="background:cornsilk">
  77.         <td>Enviar texto</td>
  78.         <td><input type="text" id="cadena" value="" onKeyPress="if (event.keyCode==13) enviar();"></td>
  79.         <td><input type="button" id="btnEnviar" value="Enviar" onClick="enviar();"></td>
  80.     </tr>
  81.     <tr>
  82.         <td colspan=4>Texto enviado/recibido<br>
  83.             <textarea cols="50" rows="8" name="texto" value=""></textarea>
  84.         </td>
  85.     </tr>
  86. </form>
  87. </BODY>
  88. </HTML>

espero puedan ayudarme, si alguien lo hace funcionar favor de postearlo.

gracias

Etiquetas: puerto, serial
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 18:58.