Einzelnen Beitrag anzeigen
  #1  
Alt 15.06.2011, 16:49:47
mr_sol mr_sol ist offline
Anfänger
 
Registriert seit: Oct 2010
Alter: 58
Beiträge: 19
Per PHP COM Schnittstelle ansprechen

Hallo

Vielleich hat jemand von euch eine Idee oder Hinweis.

Problembeschreibung: Soll über COM2 (USB/UART) Daten aus MC Board
lesen/schreiben. Über Terminal klappt es wunderbar, über PHP gibts ein lese
Problem.

Der Code klappt ist aber unstabil beim lesen, liest nicht immer
Code:
<?php

//Funktion zum Einstellen der seriellen Schnittstelle

    function rs232init($com,$bautrate)
    {
    `mode $com: BAUD=$bautrate PARITY=N data=8 stop=1 xon=off`;
    }

//Funktion zum Senden


    function senden($comport,$zeichen)
    {

         $fp = fopen ("$comport", "w+");
         if (!$fp)
          {
             echo "Port zum Schreiben nicht geöffnet!";
          }
        else {
                fputs ($fp, $zeichen);
                 fclose ($fp);
                }
    }

    //Funktion zum Empfangen

    function lesen($comport2,$sekunden)
    {

       $buffer = "";

       $fp2 = fopen ("$comport2", "r+");
         if (!$fp2)
         {
       echo "Port zum lesen nicht geöffnet";
       }
    else
      {
      sleep($sekunden);
             $buffer .= fgets($fp2, 4096);
            }
          return $buffer;
          fclose ($fp2);
}

// Beispielaufrufe

   rs232init("com2","9600"); // Com2 öffnen mit Bautrate 9600 Baut
   senden("com2","7"); // den Text “Hallo” auf den comport 2 schreiben
   $lese = lesen("com2","2"); // 2 Sekunden lang Daten von Comport2

  echo $lese;   „“ //Variable $lese ausgeben

?>

Daher meine Frage, wie könnte man über w32api_register_function() zugreifen.

Oder gibts noch eine ander Möglichkeit (kein dio oder zusätzliche C++).


Vielen Dank in voraus
Mit Zitat antworten