USB HID 在进行大量包数据传输时出现崩溃,无数据返回,找不到设备等情况,求各位大神帮忙出招,任务急 ,谢谢了!!!

liang2769705 2014-12-01 03:02:23
小弟的上位机是通过USB传输升级文件数据给下位机来给FPGA在线升级,程序在串口的基础上修改的,USB部分

采用百合电子工作室的代码,协议采用485协议,能够查询出设备信号,但出现以下奇怪的问题:
1:升级文件为4M,每个包最长64字节,64字节中只有52个升级数据,分割后有8W多包, 升级完成时间是不是

有点长?
2:当进入升级时,上位机发数据,在进行上百次发送时,BUS HOUND监听会出现无设备提示,然后上位机就卡住

不动了,数据也没有发出来。
3:下位机在收到数据后会立即返回数据,但在上位机中却必须使用SLEEP才能接收到数据。
附2问图:
...全文
455 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liang2769705 2014-12-03
  • 打赏
  • 举报
回复
引用 5 楼 oyljerry 的回复:
[quote=引用 4 楼 liang2769705 的回复:] [quote=引用 3 楼 oyljerry 的回复:] 是不是上位机消息等阻塞了。
有可能是阻塞了,如果是阻塞,该如何解决?[/quote] 1. 异步方式, 2. 降低发送端数据频率[/quote] 如果采用降低频率的话,HID是不是不太适合用于此类设备升级所用,毕竟串口升级也只要15分钟。
liang2769705 2014-12-02
  • 打赏
  • 举报
回复
o(︶︿︶)o 唉,CSDN怎么这么冷清0 0
漂泊者011 2014-12-02
  • 打赏
  • 举报
回复
可能是等待验证的数据丢失了,验证之后再发下一笔
oyljerry 2014-12-02
  • 打赏
  • 举报
回复
引用 4 楼 liang2769705 的回复:
[quote=引用 3 楼 oyljerry 的回复:] 是不是上位机消息等阻塞了。
有可能是阻塞了,如果是阻塞,该如何解决?[/quote] 1. 异步方式, 2. 降低发送端数据频率
liang2769705 2014-12-02
  • 打赏
  • 举报
回复
引用 3 楼 oyljerry 的回复:
是不是上位机消息等阻塞了。
有可能是阻塞了,如果是阻塞,该如何解决?
oyljerry 2014-12-02
  • 打赏
  • 举报
回复
是不是上位机消息等阻塞了。
shen_wei 2014-12-01
  • 打赏
  • 举报
回复
升级可以先写入flash中,在设备开始时自动升级,不要在升级时,直接就刷机了。。

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧