PHP <RS232> M8 in ASCII

Gast #1152432
Lesenswert?

Hallo,

ich habe ein (hoffentlich) kleineres Problem. Ich versuche momentan 
meinen M8 über einen RS232 mit PHP anzusteuern.

Ich weis, das eine Verbindung besteht (habe mir hierzu ein Testprogramm 
geschrieben und auf den Controller geflasht, eine LED geht an sobald 
Daten eingehen. Dies geschieht beim Senden mit meinem PHP Script).
Ich empfange ebenso Daten von dem Controller.
Das Problem besteht darin die Daten zu interpretieren.
Leider versteht mein Controller derzeit nur binäre Befehle (suche hier 
noch ein Script für ASCII Empfang), daher kannn ich noch keine Tests 
machen der Verbindung PHP > Controller.
Die andere Richtung (M8 > PHP) habe ich durch ein "uart_puts("muh"); in 
1 Sekunden Abständen getestet. Die Daten werden von PHP erkannt und 
ausgegeben, jedoch nicht "muh" sondern etwas kryptisches.

Meine Frage an euch also:
-Kennt sich jemand mit PHP <> M8 in ASCII aus ?

Vielen Dank

Dominik
Gast #1152441
Lesenswert?

>Die andere Richtung (M8 > PHP) habe ich durch ein "uart_puts("muh"); in
>1 Sekunden Abständen getestet. Die Daten werden von PHP erkannt und
>ausgegeben, jedoch nicht "muh" sondern etwas kryptisches.

Baudrate stimmt nicht.

>Meine Frage an euch also:
>-Kennt sich jemand mit PHP <> M8 in ASCII aus ?

Was ist ein M8?
Gast #1152469
Lesenswert?

>Baudrate stimmt nicht.

Vielleicht auch die Datenbreite, die Anzahl der Stop-Bits oder die 
Parität.
Was auch noch sehr beliebt ist: man benutzt den internen RC-Oszillator.
Das ist aber bei solchen asynchronen Sachen Pfui!
Gast #1152478
Lesenswert?

Wenn im Terminal das richtige ankommt, dann kann es ja nur an falschen 
einstellungen auf der PHP Seite liegen. Hast du dort auch die ich denke 
mal 8 datenbits, 1 Stopbit und keine partity ausgewählt? (8N1)
Gast #1152480
Lesenswert?

Der Fehler lag darin das ich ausversehen den String nicht einmal pro 
Sekunde gesendet habe sondern mit 16MHz .. vor die Stirn hau

Der String kommt nun sauber an!

Danke für die schnelle Hilfe!

Nun bleibt noch die Frage wie ich meinem Controller ASCII verständlich 
mache
Gast #1152535
Lesenswert?

Kenne mich in C++ leider nicht so gut aus vorallem nicht mit mit 
Zeigern, welche für soetwas verwendet werden.

Auf meiner PHP Seite habe ich mir ein Script geschrieben, welches ab 
einem Startzeichen solange Chars sammelt bis zum Stopzeichen und diesen 
String dann an eine Switch sendet welche die Aktion ausführt.
1
while (false !== ($char = fgetc($fp))) {
2
      if($char = "m") {
3
      $buffer = array();
4
        while (false !== ($char = fgetc($fp)) AND ($char != "h")){
5
          $buffer[] = $char;
6
          DoIt($buffer);
7
        }
8
      }
9
    }





Wäre jemand so nett mir das in C++ zu schreiben?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren