因为发送和接受不是在一个通道,数据的返回是通过一个TransferCompletion方法监听得到。
我现在希望连续发送一系列指令,每个指令都要返回一定的消息,才能确定下一步的指令。
不知道有没有做过这方面的工作的人士,希望能给我指点一下。
谢谢
10 个解决方案
#1
mark!
#2
别只是Mark啊,来点实际行不?
#3
和硬件通讯是要一步一步来的,你发送了第一个命令,就要等待硬件的返回,
根据返回结果判断是否可以进行下一个命令.
如果你联系发送命令的话,硬件都来不及反应,你的命令当然不会被执行.
你就老老实实的按顺序发送指令就好了.
根据返回结果判断是否可以进行下一个命令.
如果你联系发送命令的话,硬件都来不及反应,你的命令当然不会被执行.
你就老老实实的按顺序发送指令就好了.
#4
不会,帮顶
#5
是通过socket发送的吗
#6
3楼说的对,不能着急。如果发多了,中间有错的,不是白发了,还要重发,还要控件从哪重发。
3楼的头像,别细看 ...
3楼的头像,别细看 ...
#7
如果真的要发送多条指令的话,每条之间延迟下试试看吧
#8
没有搞过这个,不知道是什么样的。帮你顶吧。
#9
谢谢各位的回复,看了几天WinDriver的实例,我把代码改了一下,我也不是很明白,不知道是不是把异步传送改成了同步传送,现在返回数据是没有问题。
有个新问题:
我用我的软件发送一个命令只返回64个字节,而Windriver测试时返回了200个自己,而且前64个和我返回的是一样的。我跟踪调试了从windriver返回的bufferSize确实是64个,不知道Windriver怎么返回200个
现在里面还有一个参数SetupPacket不明白
例子里面:SetupPacket = new byte[8];
无论我改成什么都对结果没有影响,不知道是干什么的.
有个新问题:
我用我的软件发送一个命令只返回64个字节,而Windriver测试时返回了200个自己,而且前64个和我返回的是一样的。我跟踪调试了从windriver返回的bufferSize确实是64个,不知道Windriver怎么返回200个
现在里面还有一个参数SetupPacket不明白
例子里面:SetupPacket = new byte[8];
无论我改成什么都对结果没有影响,不知道是干什么的.
#10
#1
mark!
#2
别只是Mark啊,来点实际行不?
#3
和硬件通讯是要一步一步来的,你发送了第一个命令,就要等待硬件的返回,
根据返回结果判断是否可以进行下一个命令.
如果你联系发送命令的话,硬件都来不及反应,你的命令当然不会被执行.
你就老老实实的按顺序发送指令就好了.
根据返回结果判断是否可以进行下一个命令.
如果你联系发送命令的话,硬件都来不及反应,你的命令当然不会被执行.
你就老老实实的按顺序发送指令就好了.
#4
不会,帮顶
#5
是通过socket发送的吗
#6
3楼说的对,不能着急。如果发多了,中间有错的,不是白发了,还要重发,还要控件从哪重发。
3楼的头像,别细看 ...
3楼的头像,别细看 ...
#7
如果真的要发送多条指令的话,每条之间延迟下试试看吧
#8
没有搞过这个,不知道是什么样的。帮你顶吧。
#9
谢谢各位的回复,看了几天WinDriver的实例,我把代码改了一下,我也不是很明白,不知道是不是把异步传送改成了同步传送,现在返回数据是没有问题。
有个新问题:
我用我的软件发送一个命令只返回64个字节,而Windriver测试时返回了200个自己,而且前64个和我返回的是一样的。我跟踪调试了从windriver返回的bufferSize确实是64个,不知道Windriver怎么返回200个
现在里面还有一个参数SetupPacket不明白
例子里面:SetupPacket = new byte[8];
无论我改成什么都对结果没有影响,不知道是干什么的.
有个新问题:
我用我的软件发送一个命令只返回64个字节,而Windriver测试时返回了200个自己,而且前64个和我返回的是一样的。我跟踪调试了从windriver返回的bufferSize确实是64个,不知道Windriver怎么返回200个
现在里面还有一个参数SetupPacket不明白
例子里面:SetupPacket = new byte[8];
无论我改成什么都对结果没有影响,不知道是干什么的.