Hi all,
ich kopple RPi und AVR µController über die serielle Schnittstelle. Alles ok, nur sendet die Library php_serial.class beim Initialisieren in jeder Zeile das HEX-Byte FF.
<?php
include "php_serial.class.php";
$serial = new phpSerial;
$serial->deviceSet("/dev/ttyAMA0"); // sends 0xff to serial
$serial->confBaudRate(38400); // sends 0xff to serial
$serial->confParity("none"); // sends 0xff to serial
$serial->confCharacterLength(8); // sends 0xff to serial
$serial->confStopBits(1); // sends 0xff to serial
$serial->confFlowControl("none"); // sends 0xff to serial
$serial->deviceOpen(); // sends 0xff to serial
$serial->serialflush();
sleep (1);
$serial->sendMessage("my_text");
$serial->deviceClose();
exit();
?>
Alles anzeigen
Der Output dieses Codes, mit putty mitgeschnitten und im Hexeditor angesehen:
FFFFFFFFFFFFFF 6D 79 5F 74 65 78 74
FFFFFFFFFFFFFF m y _ t e x t
Ich habe jede Zeile einzeln mit Pausen umrahmt, und kann sehen, dass je Zeile einmal ein Byte FF gesendet wird (bzw. die Leitung einmal kurz auf Null geht = Startbit)
Ich habe überprüft, ob das Startbit vielleicht nur ein Glitch (eine kurze 0 auf der seriellen Leitung) ist, der den nachfolgenden Ruhepegel als FF erscheinen lässt, aber das Oszi sagt, dass die Bitdauer der Null (25µs) zur Baudrate passt.
Hat jemand eine Idee, woher die FFs kommen?
Herzlichen Dank für die Mühe!
Snafu.