didar
驱动牛犊
驱动牛犊
  • 注册日期2003-05-29
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1335回复:2

usb的数据传送

楼主#
更多 发布于:2003-08-18 10:36
好不容易,usb枚举。发送接收都正常了
但是……


一开始做的只是最简单的数据传递
加上数据分析的函数以后
usb开始枚举失败
后来我把枚举的部分全部加载到中断中进行处理
变成了偶尔成功!!??
为什么?
如果我程序变得更加庞大
会不会对枚举过程又影响?



在数据传递的时候
如果上位机不停的接收数据包就会失败
这是为什么?
我的数据是在main_txdone中写入buf的
上位机不停的执行读端点2数据的操作
每一次程序运行
大概可以接受30~90次数据
就会在也读不到数据
我在程序里面
void main_txdone(void)
{
unsigned char len;

D12_ReadLastTransactionStatus(5);
          len = D12_WriteEndpoint(5, 3, MainEpBuf7);
}

flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-08-18 12:20
是不是你的数据分析函数占用了很多的时间?
usb的数据传递是有时间限制的,在相应的时间内没有收到握手信号的话就会出错。
我思,故我在
didar
驱动牛犊
驱动牛犊
  • 注册日期2003-05-29
  • 最后登录2003-09-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-18 14:41
好像不是这个问题艾
我的处理程序屏蔽掉了
通信还是会中断
没有什么规律


另外就是枚举也不是很正常
:(
游客

返回顶部