Muy buenas amigos del foro, está es la primera vez que intento escribir datos en el puerto serial del servidor y tengo una inquietud, aca remito el script que he realizado y que empece para realizar pruebas. Este me base en algo que encontre en el manual de PHP. Cabe aclarar que el servidor esta en localhost y lo tengo sobre una maquina windows.
Código PHP:
<?php
//`mode com1: BAUD=9600 PARITY=N data=8 stop=1 xon=off`;
$fp = fopen ("COM1:", "w+");//abre el puerto para leer empezar a escribir datos
if (!$fp) {
echo "Uh-oh. Puerto no abierto.";
} else {//escribe los datos que se desean pasar por el puerto
$string = 128;
$hexa=dechex($string);//transforma el numero en hexadecimal
echo $string."<br />";
echo $hexa."<br />";
fputs ($fp, $hexa );//escribe en el puerto los datos.
fclose ($fp);
}
?>
Como pueden ver se abre el puerto para empezar a escribir datos, escribo un numero de prueba, lo convierto a hexadecimal y lo escribo en el puerto de datos. Cuando veo los datos que entran por el puerto realiza bien la conversión (o al menos eso parece porque coloca bien el hexadecimal cuando lo analizo con un programa que revisa los datos que pasan por el COM1) pero si lo conecto a un tablero de pruebas sencillo de leds los datos no se muestran completos, es decir pareciera que se estuvieran perdiendo datos. Ya descarte que fueran los leds porque se han hecho prueba escribiendo datos con otros aplicativos y el tablero funciona bien.
Pido a la gente que tenga conocimientos en el tema me ayude o me de luces sobre que podria estar obviando o si conocen foros donde pueda obtener información adicional. De antemano agradezco a los que puedan echar una mano.