打印
[ZLG-ARM]

问一个USB设备与上位机通讯的问题

[复制链接]
2378|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tsstchip|  楼主 | 2007-4-3 14:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1。 目的:
MCU定时中断启动AD采集数据,然后发送给上位机(PC)。

2。 解决思路:
在上位机用VB写一个线程,实时监控USB设备的状态,如果端口数据缓冲区有数据,就读进来。
我用的是EasyArm2131+2142Pack板进行开发。

3。 问题:
ZLG公司提供了一个USB214x动态库,我从里面的API函数和说明文档中找不到相应的解决方案,因为它只提供了一个ReadData214x和一个WriteData214x函数,没有对端点缓冲区进行状态监测的函数。我怎么能知道下位机什么时候把数据准备好啊?

相关帖子

沙发
microlab| | 2007-4-3 15:49 | 只看该作者

Re

个人的理解:
至于下位机什么时候把数据准备好,那个必须由下位机的驱动来实现
你所需要做的是读取下位机发送到上位机的数据就可以了
至于,你怎么知道上位机什么时候会收到下位机发送来的数据,那这个就要你自己用程序去处理好USB-HOST目前的状态,如:是否有收到数据等等.....

使用特权

评论回复
板凳
tsstchip|  楼主 | 2007-4-3 16:00 | 只看该作者

microlab

USB-HOST是指PC机上的USB端口吗?
有没有相关资料讲一讲我怎么去读它的状态?
深入浅出ARM7(下)里面的例程只有简单的收和发的例子,并没有对处理端点状态进行介绍。
我就想问这个,谢谢你!

使用特权

评论回复
地板
tsstchip|  楼主 | 2007-4-3 20:30 | 只看该作者

自己顶一下

知道的麻烦告诉一下啊

使用特权

评论回复
5
nj手术刀| | 2007-4-4 12:19 | 只看该作者

USB是主机控制协议,你的目的需要主机主动查设备状态

使用特权

评论回复
6
tsstchip|  楼主 | 2007-4-4 23:13 | 只看该作者

nj手术刀

主机查设备状态的时候,需要访问相关的设备驱动对么?
我使用的是EasyArm2131+2142Pack板,
ZLG公司给用户配了一个DLL,
上位机可调用的API函数只有两个:
WriteData214x(端点号,写字节数,超时等待时间)
RriteData214x(端点号,读字节数,超时等待时间)
通过这两个函数似乎没法查设备状态哦?
这时候怎么办?
自己写固件程序和DLL?好像不太现实哦?着急啊!

使用特权

评论回复
7
ayb_ice| | 2007-4-5 09:43 | 只看该作者

随便说说

我看LZ难写哟...

使用特权

评论回复
8
liwenz| | 2007-4-5 11:26 | 只看该作者

我也关注

使用特权

评论回复
9
liwenz| | 2007-4-6 08:30 | 只看该作者

我设想的解决思路

提供的虽然只有
WriteData214x(端点号,写字节数,超时等待时间)
RriteData214x(端点号,读字节数,超时等待时间)
但你可以用一个中断方式的端口,定时RriteData214x或WriteData214x
查询数据状态,然后再有一个平常数据传送端口

使用特权

评论回复
10
luhuaren| | 2007-4-7 08:34 | 只看该作者

RE

你查询什么状态啊?
查询D12端点缓冲区是否满了?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

17

帖子

0

粉丝