请问有没有人做过基于Windriver驱动的USB下面的应用程序的开发

时间:2023-02-20 23:41:17
以前没有做过这一块,从零开始,我看了几天WinDriver生成的代码(C#),现在基本可以发简单的命令,根据硬件工程师确定的协议,也能返回指定的信息,但是每次只能发一个指令,如果连续发送命令就无法捕捉了。

因为发送和接受不是在一个通道,数据的返回是通过一个TransferCompletion方法监听得到。

我现在希望连续发送一系列指令,每个指令都要返回一定的消息,才能确定下一步的指令。

不知道有没有做过这方面的工作的人士,希望能给我指点一下。

谢谢

10 个解决方案

#1


mark!

#2


别只是Mark啊,来点实际行不?

#3


和硬件通讯是要一步一步来的,你发送了第一个命令,就要等待硬件的返回,
根据返回结果判断是否可以进行下一个命令.
如果你联系发送命令的话,硬件都来不及反应,你的命令当然不会被执行.
你就老老实实的按顺序发送指令就好了.

#4


不会,帮顶

#5


是通过socket发送的吗

#6


3楼说的对,不能着急。如果发多了,中间有错的,不是白发了,还要重发,还要控件从哪重发。

3楼的头像,别细看 ...

#7


如果真的要发送多条指令的话,每条之间延迟下试试看吧

#8


没有搞过这个,不知道是什么样的。帮你顶吧。

#9


谢谢各位的回复,看了几天WinDriver的实例,我把代码改了一下,我也不是很明白,不知道是不是把异步传送改成了同步传送,现在返回数据是没有问题。

有个新问题:
我用我的软件发送一个命令只返回64个字节,而Windriver测试时返回了200个自己,而且前64个和我返回的是一样的。我跟踪调试了从windriver返回的bufferSize确实是64个,不知道Windriver怎么返回200个

现在里面还有一个参数SetupPacket不明白
例子里面:SetupPacket = new byte[8];
无论我改成什么都对结果没有影响,不知道是干什么的.

#10


该回复于2010-12-21 13:59:08被版主删除

#1


mark!

#2


别只是Mark啊,来点实际行不?

#3


和硬件通讯是要一步一步来的,你发送了第一个命令,就要等待硬件的返回,
根据返回结果判断是否可以进行下一个命令.
如果你联系发送命令的话,硬件都来不及反应,你的命令当然不会被执行.
你就老老实实的按顺序发送指令就好了.

#4


不会,帮顶

#5


是通过socket发送的吗

#6


3楼说的对,不能着急。如果发多了,中间有错的,不是白发了,还要重发,还要控件从哪重发。

3楼的头像,别细看 ...

#7


如果真的要发送多条指令的话,每条之间延迟下试试看吧

#8


没有搞过这个,不知道是什么样的。帮你顶吧。

#9


谢谢各位的回复,看了几天WinDriver的实例,我把代码改了一下,我也不是很明白,不知道是不是把异步传送改成了同步传送,现在返回数据是没有问题。

有个新问题:
我用我的软件发送一个命令只返回64个字节,而Windriver测试时返回了200个自己,而且前64个和我返回的是一样的。我跟踪调试了从windriver返回的bufferSize确实是64个,不知道Windriver怎么返回200个

现在里面还有一个参数SetupPacket不明白
例子里面:SetupPacket = new byte[8];
无论我改成什么都对结果没有影响,不知道是干什么的.

#10


该回复于2010-12-21 13:59:08被版主删除