Hi, ich bin am rumspielen mit einem tiny2313 und gebe Daten über RS232 an eine linux büchse aus (PHP überwacht die Schnittstelle am Server - klappt wunderbar). Mein Tiny soll dann je nach Anfrage auch wieder Daten vom Server zurückbekommen (dio_write Funktion in PHP). Wenn ich einen String aus meinem PHP-Script bzw. über ein "echo TEST > /dev/ttyS0" bleibt mein INPUT Befehl (Bascom programmierung) stumm und wartet weiterhin auf Daten. Wenn ich jedoch das gleiche mit Hyperterminal oder putty an den Tiny sende, reagiert der er und macht alles richtig. CRLF war meine erste Vermutung, aber das juckt das "INPUT" nicht. Es gibt wohl noch andere Leute mit dem Problem, aber eine Lösung finde ich nicht. Gibts da eine Lösung ? bin echt am verzweifeln :( Danke Christian
Hast du vor dem echo ..>... vielleicht Baudrate etc. nicht gesetzt? Die Terminalprogramme machen das natürlich je nach Einstellung. echo dagegen gibt nur aus.
echo gibt am Zeilenende Linux/Unix-typisch ein Newline aus (wenn man das nicht mit -n unterdrückt). Möglichweise wartet Input von BASCOM aber auf ein Carriage Return. Habe im BASCOM Manual aber nicht nachgesehen, ob das so ist. Probiere aus der Shell heraus Zeile mit CR am Ende an den µC zu schicken: echo "TEST\r" > /dev/ttyS0
Hi, die Baudrate wird im PHP-Script gesetzt 9600 8N1, auf der Konsole wüsst ich nicht wie (bekomm ich aber raus). Deshalb denke ich das sollte passen (im PHP-Script). In Bascom ist 9600 gesetzt (stopbit usw. habe ich hier nicht fällt mir gerade auf... aber es geht ja mit putty & Co.) echo "hello\r" > /dev/ttyS0 hilft nichts. Parameter -n macht auch keinen Unterschied. Merkwürdig is, das er 10 sekunden braucht um den Befehl auf der konsole auszuführen (das echo). Meine Testumgebung ist eine VM, aber klappt ja mit putty.
Christian Z. schrieb: > die Baudrate wird im PHP-Script gesetzt 9600 8N1, auf der Konsole wüsst > ich nicht wie (bekomm ich aber raus). stty
Danke, habe ich versucht, keine Besserung (setserial geht wohl ebenfalls, soll simpler sein). Noch wer eine Idee ? Das muss doch klappen...
Hast du schon den Windowsrechner mit Nullmodemkabel an den Linuxrechner gehängt und nachgesehen, was da gesendet wird? Du kannst auch mit einem Loopbackstecker arbeiten, wenn du nur den Linux-Rechner hast aber zwei serielle Schnittstellen. Quasi eine Nullmodemverbindung zwischen beiden Schnittstellen. Wenn du nicht sicher bist, ob der Linuxrechner überhauot etwas sendet, kannst du das physikalisch auf der Leitung überprüfen.
Das ganze spielt sich in zwei virtuellen Rechnern ab. An meinem VM-Host (Windows7) hängt der Tiny (auf dem Pollin RFID Board) direkt an einer "echten" RS232. Ich kann direkt von der Linux VM in die Windows VM senden/empfangen. folgende Szenarien habe ich versucht jeweils ein einfache Zeichenfolge: µC > Windows Terminal (Putty) - OK Windows Terminal > µC - OK µC > Linux (cat /dev/ttyS0 & PHP dio_read) - OK Linux (Bsp.: echo "string" > /dev/ttyS0 & PHP dio_write) > µC - Nicht OK Das machts schwierig zu monitoren.
Mit nem echten Rechner klappts auch nicht... HILFE :-(
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.