阅读:1266回复:7
zlgD12-动态连接库与应用程序编写
在zlg给的动态连接库中,给出的读写端口的几个函数
那么在这写函数要求中是否含有对固件的厂商请求呢? 在zlg提供的固件代码中在读数据的是后,只有一个请中断的行为 儿将数据由单片机的ram写到d12的数据发送区是由在厂商请求的代码中实现的! 那位曾经用过这个库能不能解释一下,小弟开发工具有限,没有想出好的办法检查。 |
|
沙发#
发布于:2003-10-23 14:22
厂商请求是通过Endpoint 0 发送一些USB1.1 协议以外的指令例如可以发送设备特殊的命令在USB SMART BOARD 的示范程序中用来传输版本号和对Endpoint 2 操作的控制了,但easyd12.dll中的函数是对端点1,2的读写,你理解错了
|
|
板凳#
发布于:2003-10-23 19:37
未配置的USB只能使用Endpoint 0,如果枚举通过了就说明你的Endpoint 0通讯没有问题
|
|
地板#
发布于:2003-10-23 19:50
这个我知道,在zlg下位机的代码中,在厂商请求的一段代码实现了将单片机ram中的数据写到d12的发送缓冲区中,
但在其提供的动态链接库的函数中只是对d12两个缓冲区操作。 我现在的问题是不清楚在其读函数中是否含有一段厂商请求的代码,使下位机实现“将单片机ram中的数据写到d12的发送缓冲区”的操作。我的板子从下位机读不上来数据,不知道问题是不是在这里。 |
|
地下室#
发布于:2003-10-23 20:07
不需要,你Endpoint 0没有问题,看看是不是端点设错了,我觉得Endpoint 0没有问题的话,其他Endpoint应该没有问题。
我建议你先用已经调试好的上位机测试,等下位机调试好了再调上位机,否则会增加开发难度。 |
|
5楼#
发布于:2003-10-23 20:51
感谢你的回答。
我下位机的程序经过测试通过了的。 是在d12test测试程序上测试的 。 现在我直接问是:在zlg提供的固件代码中,从端点2读数据 的子程序main_txdone() 只有一个清中断标志的过程,而单片机ram中的数据向d12写数据的过程是在厂商请求的代码中实现的。如果我去调了厂商请求,或者说我上位机没有发出厂商请求的信号,使得向d12写数据没有进行,那我是不是就从上位机读不到数了呢? |
|
6楼#
发布于:2003-10-23 21:50
不懂,WRITEENDPOINT就是发数据啊,在那里都有。
|
|
7楼#
发布于:2003-10-23 21:53
不过我也调到和你差不多的地方,我们可以交流交流!我晚上都在,用QQ聊281952727。
|
|