Hi Alex
danke für den tipp - ein kleiner Erfolg ;-)
Also bleibt Dir kaum etwas anderes übrig, als die Defaults für die serielle Schnittstelle per stty zu verändern, BEVOR du das Device in PHP öffnest.
nach dem minicom (noch mal alle einstellungen geprüft/eingestellt 115200 8N1 KEIN Handshake ) immer noch nicht fuzt, hab ich mich noch mal mit linux und dem befehl stty auflistung arg. beschäftigt.
stty -a < /dev/ttyACM0
speed 115200 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <un
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread clocal crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echopr
dann stopbit gesetzt und CTS/RTS wech (das war vorher falsch)
stty -F /dev/ttyACM0 -crtscts
stty -F /dev/ttyACM0 cstopb
aktiviert (weiß nicht ob mans braucht)
stty -F /dev/ttyACM0 raw
Analogeingang A6 eingelesen:
echo "c06" > /dev/ttyACM0
cat /dev/ttyACM0
uw
sollten eigentlich 3 Byte sein
alle 8 Analogeingänge eingelesen:
echo "c09" > /dev/ttyACM0
root@raspberry:~# cat /dev/ttyACM0
²sMÚ*h
sollten eigentlich 17 Byte sein
vielleicht ist es ja ein anderer Zeichencode oder nicht sichtbare asciis. - zumindest hab ich schon mal ne reaktion :-)
ich werd mal einen oder zwei eingänge auf masse legen - die floaten so vor sich rum
jetzt gehts ans php
hier bin ich noch nicht weiter - ich kann ja auch schlecht alles exec()en
<?php
//mode $com: 'BAUD=$bautrate PARITY=N data=8 stop=1 xon=off`;
?>
>
> Dir ist schon klar, dass die Zeile etwas tun solle, aber nichts tun kann? Das ist erstens auskommentiert, zweitens DOS/Windows-spezifisch und unter Linux garantiert nicht lauffähig, und drittens kann man nicht einfach Shell-Kommandos in ein PHP-Script reinkopieren und hoffen, dass PHP die an die Shell weitergibt.
>
der komplete code ist von jemanden, der mit purebasic geschrieben hat - bei ihm hats auch nicht funktioniert.
die windows-zeile hab ich nur auskommentiert und nicht gelösch, um sie nur als errinerungsstütze zu behalten, weil ich die einstellungen noch setzen wollte.
> Hmm, [anscheinend kann PHP keine ioctls](http://de.php.net/manual-lookup.php?pattern=ioctl&scope=quickref). Faszinierend.
wie schon erwähnt - phpinfo() zeigt mir das modul nicht
> Oder Du benutzt eben etwas anderes als PHP.
c++ und java bin ich zu doof, pascal ist schon knapp 2 Jahrzehnte her und basic weiß nicht.
bei so vielen php gurus in dem forum, wird sich doch hoffentlich noch einer erbarmen ;-)
Viele Grüße aus LA
--
ralphi