so mach ich das ja auch
öffnen- was machen- schliessen
nur bleibt das script in der while-schleife hängen
auch die timeout-bedingung hilft nicht
und der port wird darum nicht geschlossen
irgendwas stimmt da mit fgets nicht
hier mal der code
[php]
<?
define("TIMEOUT", "3"); //3 sec timeout
$comport1 = "COM1";
$comport2 = "COM2";
$string = "Hallo Schnittstelle!\n";
$buffer = "";
`mode com1: BAUD=9600 PARITY=N data=8 stop=1 xon=off`;
$fp2 = fopen ($comport1, "w+");
`mode com2: BAUD=9600 PARITY=N data=8 stop=1 xon=off`;
$fp1 = fopen ($comport2, "w+");
if (!$fp1) {
echo "Uh-oh. Port 1 not opened.";
} else {
$e = chr(27);
$string = $e . "A" . $e . "H300";
$string .= $e . "V100" . $e . "XL1SATO";
$string .= $e . "Q1" . $e . "Z";
echo $string;
echo fwrite ($fp1, $string );
fclose ($fp1);
}
if (!$fp2) {
echo "Uh-oh. Port 2 not opened.";
} else {
$time_start = round(microtime(true),0);
while(!feof($fp1) AND round(microtime(true),0)-$time_start < TIMEOUT) {
$buffer .= fgets($fp2, 4096);
$buffer .= "<br>";
}
echo $buffer;
fclose ($fp2);
}
?>[/php]
///edit
ja, hier gehts aber um die hardware
deshalb dach ich ich poste mal hierein