U盘的插拔偶尔会影响其它USB设备(公司开发的产品)的通信,望高手~~

panwen516 2011-09-02 10:44:47
USB驱动程序是通过DriverStudio3.2生成的。
USB硬件设备是公司开发的。
在正常情况下,上下位机通信都很正常。但如果此时PC上有U盘进行插拔操作,偶尔会出现通信失败的情况。
当通信失败时上位机的情况表现为:
1.ReadFile读失败,但不会导致函数被阻塞。
2.WriteFile写失败,但会导致函数阻塞,直到拔掉USB设备此函数才会返回。


出现这种异常不知道是USB驱动没有写好,还是下位机设备抗干扰性不强。

望高手指点。
谢谢,项目急!!!!!!!

...全文
112 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmxopq 2011-09-14
  • 打赏
  • 举报
回复
设备号变了
yrktcst 2011-09-10
  • 打赏
  • 举报
回复
学习一下
Tilics 2011-09-10
  • 打赏
  • 举报
回复
路过学习
xwq08000800 2011-09-07
  • 打赏
  • 举报
回复
PnP这个++和--是usb 设备识别。应该是驱动没写好。导致的在u盘拔插设备的时候,造成的设备主设备和次设备号变化而导致的读写错误。
woshi_ziyu 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 panwen516 的回复:]
USB驱动程序是通过DriverStudio3.2生成的。
USB硬件设备是公司开发的。
在正常情况下,上下位机通信都很正常。但如果此时PC上有U盘进行插拔操作,偶尔会出现通信失败的情况。
当通信失败时上位机的情况表现为:
1.ReadFile读失败,但不会导致函数被阻塞。
2.WriteFile写失败,但会导致函数阻塞,直到拔掉USB设备此函数才会返回。


出现这种异常不知道是……
[/Quote]
USB驱动没写好
lichujing 2011-09-02
  • 打赏
  • 举报
回复
USB驱动程序是通过DriverStudio3.2生成的?
楼主放错地方了吧,wince上的吧,这儿基本是linux区的哦
panwen516 2011-09-02
  • 打赏
  • 举报
回复
通过驱动调试发现的问题。
-2.219 Default Communication_data: Communication_dataDevice::DefaultPnp++. IRP 88706360

-2.219 Default Communication_data: IRP: Major=IRP_MJ_PNP Minor=IRP_MN_QUERY_DEVICE_RELATIONS (0x7) Flags=0x0

-2.219 Default Communication_data: Communication_dataDevice::DefaultPnp--. IRP 88706360, STATUS c00000bb

在拔除U盘时会进入此例程中。
qw13260022397 2011-09-02
  • 打赏
  • 举报
回复
路过 帮忙顶一下
panwen516 2011-09-02
  • 打赏
  • 举报
回复
上午做过实验了,插拔U盘时对USB设备供电端口进行检测(示波器),没有发现电压变化。
同时使用,USB鼠标、(非U盘)USB其它设备、U盘(不同品牌),在USB设备进行通信时进行插拔。
发现,只有U盘进行插拔时才会对通信有影响(包括不同品牌),其它设备都没有影响。

panwen516 2011-09-02
  • 打赏
  • 举报
回复
能给个具体的建议吗?

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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