[求助] 【求助分析】ST107VC USB中断阻塞

yi373642635   2013-7-23 21:51 楼主
【求助大家,有碰到类似问题的吗?】
平台st107vc
实现HID两端点8字节通信
基于STM32_USB-FS-Device_Lib_V3.4.0移植
枚举成功计算机可以识别PID,但枚举后一直进USB中断,导致系统卡死!
分析后发现一直进sofintr中断[img]file:///c:\users\xieyb\documents\tencent files\373642635\image\6}[_i]tw~u~hdrs]_asl@5h.jpg[/img]
QQ图片20130723214831.jpg

回复评论 (12)

请教大家了~
点赞  2013-7-23 21:52

回复 沙发yi373642635 的帖子

是不是要清除中断标记啊?
点赞  2013-7-24 10:08

回复 沙发yi373642635 的帖子

这样无法判断问题所在,还是用仿真看看,什么原因导致,清除这个中断看看。
我的博客
点赞  2013-7-24 10:09

楼主找个能跑得通的USB例程,再移植

http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2013-7-24 11:00

回复 板凳Study_Stellaris 的帖子

但官方库里的清除中断位好像不起作用
uint32_t OTGD_FS_Handle_Sof_ISR(void)
{
  USB_OTG_GINTSTS_TypeDef GINTSTS ;
  GINTSTS.d32 = 0;
  
  /* Call user function */
  INTR_SOFINTR_Callback();
   
  /* Clear interrupt */
  GINTSTS.b.sofintr = 1;

  USB_OTG_WRITE_REG32 (&USB_OTG_FS_regs.GREGS->GINTSTS, GINTSTS.d32);

  return 1;
}
点赞  2013-7-24 14:02

回复 5楼ddllxxrr 的帖子

好像找不到107的,请问你有好介绍吗
点赞  2013-7-24 14:03

回复 4楼zhaojun_xf 的帖子

但官方库里的清除中断位好像不起作用
uint32_t OTGD_FS_Handle_Sof_ISR(void)
{
  USB_OTG_GINTSTS_TypeDef GINTSTS ;
  GINTSTS.d32 = 0;
  
  /* Call user function */
  INTR_SOFINTR_Callback();
   
  /* Clear interrupt */
  GINTSTS.b.sofintr = 1;
  USB_OTG_WRITE_REG32 (&USB_OTG_FS_regs.GREGS->GINTSTS, GINTSTS.d32);

  return 1;
}
点赞  2013-7-24 14:03

回复 8楼yi373642635 的帖子

电路确定没有问题吗?
我的博客
点赞  2013-7-24 14:07

回复 9楼zhaojun_xf 的帖子

电脑没问题的,之前我是在电脑上移植103的USB,枚举和通信都成功。
因为107与103库结构不同,移植新库后枚举成功但就一直进SOF中断了。
点赞  2013-7-24 14:26

回复 10楼yi373642635 的帖子

USB从应该差别不大啊,仔细看看。参考一下我的那个贴:https://bbs.eeworld.com.cn/viewth ... ht=%2Bzhaojun%5C_xf
我的博客
点赞  2013-7-24 14:37

回复 11楼zhaojun_xf 的帖子

我的就是从库3.4.0改过来的,只不过屏蔽原先库中的EXTI和ADC初始化
你有移植过的工程吗?
点赞  2013-7-24 21:02

回复 12楼yi373642635 的帖子

没有。
我的博客
点赞  2013-7-25 06:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复