F:\usr\local\php5>php -f e:\RS232_Client.php
Array
(
[device] => 3
[inode] => 0
[mode] => 8192
[nlink] => 1
[uid] => 0
[gid] => 0
[device_type] => 3
[size] => 0
[atime] => 0
[mtime] => 0
[ctime] => 0
)
HQB232 CLIENT is start on COM2
C_SEND:01
C_RECV:02
C_SEND:(53)001=0.19238200 1150031774 (krruv981gpf1pmi1fz4qz09e9)
C_SEND:(42)002=0.19144800 1150031775 (jrhw41mphuy0ui)
C_SEND:(40)003=0.19148500 1150031776 (lqq560p6v17r)
C_SEND:(36)004=0.19148900 1150031777 (3ct02xmc)
C_SEND:(28)005=0.19212700 1150031778 ()
C_SEND:(33)006=0.19162500 1150031779 (2ilqf)
C_SEND:(34)007=0.19167800 1150031780 (vwmdfc)
C_SEND:(62)008=0.19168700 1150031781 (idb0laix4a6ryxz5nb7u74iaza601it6sv)
C_SEND:(56)009=0.19170100 1150031782 (r9ypgtvu4j7w1u141qx6im20ajy7)
C_SEND:(53)010=0.19171000 1150031783 (wq5mp1sdfuet1tp0x3vk67n47)
C_SEND:03
F:\usr\local\php5>
[ 本帖最后由 HonestQiao 于 2006-6-11 21:18 编辑 ]
HonestQiao 回复于:2006-06-11 21:18:18
六:说明
1. exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on');
exec('mode COM2: baud=115200 data=8 stop=1 parity=n xon=on');
mode是CMD下面的命令,表示设置串口的参数,因为dio_tcsetattr() 未在Windows下面实现,所以需要使用CMD的mode命令来进行设置,具体用法,请看:help mode
2. 通讯协议使用ASCII文本进行,没有使用HEX十六进制。因为是演示程序,所以协议非常简单,但是一个协议基本的内容都有了。
3. 下位机程序的sleep(1),这个是通讯之中常见的情况,数据传输和上位机处理需要一定的时间。
4. 演示的为RS232,以此类推,你也可以用到其他的场合。例如:简单修改,应用到HTTP通讯。
5. 硬件环境的建立,PHP环境的建立,不做任何答疑。
6. 欢迎探讨。
7. 感谢mikespook的意见,附加,如果是*nix,则:
'/dev/ttyS0'表示第一个COM端口,依此类推;端口的设置,应该在dio_open之后,使用:
dio_tcsetattr($fd, array(
'baud' => 9600,
'bits' => 8,
'stop' => 1,
'parity' => 0
));
[ 本帖最后由 HonestQiao 于 2006-6-12 22:23 编辑 ]
mikespook 回复于:2006-06-11 22:08:31
帮乔版补充一点~~
linux下com口读写采用文件的方式~比较简单~~所以dio这个ext只用于windows下~~
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 通讯 演示 测试 应用 环境 协议 硬件 // 数据 表示 使用 |
注册
个人空间
