www.mikrocontroller.net

Forum: PC-Programmierung rs232 funktioniert mit Hterm aber nicht mit PHP


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Michael M. (mikmik)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hello,
mein uC sendet alle 1s einen Test character. Mit HTerm kann ich Baudrate 
auf 19200 stellen und die restlichen settings auf 8N1. Das Testzeichen 
kann ich super lesen. Wenn ich das selbe mit PHP machen will (php5.2 
unter winxp) dann empfängt er zwar sekündlich ein Zeichen, ist aber 
Müll. Sieh also nach falsch eingestellten settings aus. Wenn ich in der 
systemsteuerung nachsehe, stehen dort die richtigen settings drinn und 
in php kann ich keine settings angeben...   weiß jemand rat?

hier mein code:
$fd = dio_open('COM7', O_RDWR | O_NOCTTY | O_NONBLOCK );  
if (!($fd)) {echo "error";exit;}
do  {
$data = dio_read($fd, 1);
echo $data;
}
while (!($data=="k"));

Die Variante mit
$fp2 = fopen ("COM7", "r+");
do  {
  $data=fgets($fp2, 1);
echo $data;
}

hab ich auch schon probiert, da kommt gar nix an. nichtmal müll.

Autor: hp-freund (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Michael M. schrieb:
> in php kann ich keine settings angeben...

Sicher?

http://de3.php.net/manual/en/function.dio-tcsetattr.php

Autor: hp-freund (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Sorry! Hab noch weiter gelesen:

    Note: This function is not implemented on Windows platforms.

Nehme alles zurück...

Autor: hp-freund (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Und noch einmal ;-)

Unten auf der verlinkten Seite gibt es ein Windows Beispiel.

Autor: Michael M. (mikmik)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Hallo!
Danke dir! Hatte vergessen dazuzuschreiben, dass ich eh apiert hab dass 
es tcsetattr unter win nicht gibt. mit exec mode ging's dann.

falls es noch wen interessiert: tippt man nur mode (command line) dann 
sieht man die aktuellen einstellungen. Und: um die einstellungen mit 
"exec mode..." zu ändern musste ich wirklich COM7 und nicht com7 
schreiben.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net