网站首页php
PHP7在windows下的串口通信
发布时间:2019-03-23 14:43:06编辑:slayer.hover阅读(4794)
在http://pecl.php.net/package/dio/0.1.0/windows 下载安装PHP7的php_dio.dll扩展包, 在 php.ini中添加配置extension=php_dio.dll, 重启PHP环境使之生效。
PHP读写串口代码:
<?php // 定义com口为com1,波特率为115200,数据位为8,停止位为1 exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on'); // 打开串口,O_RDWR为读写方式 $ck = dio_open('COM1:', O_RDWR); if (!$ck) { die("打开串口COM1失败"); } //写串口数据,将十六进制字符串为二进制字符串后写入,进行设备的格式设置,此处为某盖章机的部分指令格式。 dio_write($ck, hex2bin("1A500101")); //设置盖章机格式左侧印章第一个位置盖章生效 dio_write($ck, hex2bin("1A5601646464")); //设置盖章机盖章位置左侧印章使用第一个位置。并设置位置1:100mm,位置2:100mm,位置3:100mm dio_write($ck, hex2bin("1A530114")); //设置盖章机走纸速度为14 dio_write($ck, hex2bin("1A500600")); //设置盖章机进入工作状态 //dio_write ($ck, hex2bin("100402")); //查询印章机工作状态,此指令会有返回值 //dio_write ($ck, hex2bin("100401")); //查询印章机异常状态,此指令会有返回值 // 读取串口数据, 当串口有返回值时有效 do { //读取串口并将读取到的数据赋值给变量‘$data’; $data = dio_read($ck); } while ($data == null); //将返回的二进制字符串转为十六进制并显示 echo bin2hex($data); //关闭串口 dio_close($ck); echo '设置完成.';
评论