阅读:1499回复:4
请教easyd12.dll编程的一些问题
我想用USB代替原来的串口控件
发送都一样 收的时候 需要用个定时器定时readport来确定有无数据收到吗 readport只返回读取结果正确或错误 如果没有数据收到是否返回错误? 如果收到数据怎么得知实际收到长度? 为什么调试助手1.1里能够正确显示收到的长度 是怎么处理的? EASYD12。DLL怎么知道读取哪个设备端口? 而对其他USB设备没有影响 有什么特定的标志吗 |
|
沙发#
发布于:2004-06-23 12:12
顶一下
老大们帮忙啊 |
|
板凳#
发布于:2004-06-23 13:15
EASYD12。DLL已经将读写各端口的应用程序写好,我们只要调用就行了!关于它是怎样运行的,这和驱动程序有关,在驱动程序里面,都已经将各接口和端口定义好了,要用的时候,编写相应的应用程序即可,这些在EASYD12。DLL里都已经做好了!
|
|
地板#
发布于:2004-06-24 07:53
谢谢回答
还有这个问题 怎么知道用readport得到的数据长度? 没有返回值啊 |
|
地下室#
发布于:2004-06-24 13:26
EASYD12。DLL里的读写函数不用返回传输的数值大小,EASYD12。DLL里的函数每次传输最大值为64B,自己可以设置其大小,只要不超过64B,这也是usb1.1数据包的最大值。在周立功的开发系统中,如果你想传输大量数据,在应用程序中你要编写相应的分发程序,也就是每传输64B调用一次EASYD12。DLL里的读写函数,这也是利用EASYD12。DLL进行数据传输速度很慢的一个原因。 我认为这是EASYD12。DLL的一个很大的缺点,因为在进行大量数据传输时,你完全可以将数据分发的任务交给驱动程序来做,(驱动程序里也有这样的例程),这样可以节省很多的时间。只需要在应用程序中进行一次creatfile、readfile、writefile等一系列繁琐的调用,然后在驱动里面进行数据分发。 要解决这个问题,你可以编写自己的应用程序(驱动程序是没有问题的,不需要改动),这不是非常难的问题,ddk里也有相应的示范。
|
|