2009年3月4日 星期三

windows 下 php 控制 RS232?

參考網路文章想在 windows 底下用 php 來控制 RS232
寫了一小段 code:

if( extension_loaded("dio") ) echo "Yes";
else echo "no";
exec('mode COM1: baud=9600 data=8 stop=1 parity=n');
$fd = dio_open('COM1:', O_RDWR);
$data="TEST";
dio_write($fd,$data);
dio_close($fd);

dio_write() 都沒問題, 也正常的將字串丟到 RS232去,
但 dio_read() 就不行了, 根本無法去駕御它,
有時讀到 1 個字元, 有時讀到好幾個, 有時完全讀不到,只好放棄.
其實要寫字串到 RS232, 用 DOS 指令就可操作了
(1. mode 設定 baud rate, 2. 用 '>' 將字串轉到 COM port 就 ok 了)
c:\>mode COM1: baud=9600 data=8 stop=1 parity=n
c:\>echo test > COM1:

沒有留言: