阅读:1451回复:7
请问各位,能否用D12主动向主机返回数据
我现在做的系统属于实时采集数据,需要实时返回数据分析数据,
我可以用D12实时返回数据吗????是主动的,即采集完40个字节就向主机发送,然后再采 |
|
|
沙发#
发布于:2003-06-10 16:43
可以采用ISO模式,应该可以满足你的要求了
|
|
|
板凳#
发布于:2003-06-10 16:44
也可以采用Interrupt的方式
|
|
|
地板#
发布于:2003-06-10 17:42
主动传是不可能的,usb协议规定好的,即使是Interrupt也是主机主动发出查询命令的。所以用usb做实时的东西不是很适合。
|
|
|
地下室#
发布于:2003-06-10 17:46
usb鼠标就是用interrupt做的,还有作mp3播放采用iso也是可以的
他所说的要求本身就不是很实时的呀(要采集完40个数据才发送) 所以,我认为可以实现他的要求 |
|
|
5楼#
发布于:2003-06-11 11:15
还要看你是实时的要求如何,int传输的最小时间间隔是1ms,也就是说1ms里主机只能收走你一个包的数据(最大64字节),如果你的MCU太快的话可能会来不及发走
ISO的方式会快一些,但是她没有纠错检错机制,因此会有一些错误数据出现,对MP3等音频信号是可以允许的,不知道对你的如何 BULK是最快的一种方式,对于你的情况你可以让主机上的APP函数使用双线程,一个线程专门读取数据,一个线程专门存储或者处理数据,这样应该比INT快一些。 |
|
6楼#
发布于:2003-06-12 16:29
谢谢各位的回复,
我系统的采集速度要求比较快,AVR用的是11。059M的晶振 需要在0。3MS内发送3K的数据 不知那种方式更合适呢????????? |
|
|
7楼#
发布于:2003-06-12 17:02
你的3k是bit还是byte呀,如果是byte的话,就是说你要求有10MB/s的速度,我的2.0现在才做到5M,当然我知道是我的问题,有人能到20M,用D12根本就不可能实现的,它理论上才能达到1MB/S的速度而已!
|
|