6381|12

11

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【求助分析】ST107VC USB中断阻塞 [复制链接]

【求助大家,有碰到类似问题的吗?】
平台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]
此帖出自stm32/stm8论坛

最新回复

没有。  详情 回复 发表于 2013-7-25 06:11
点赞 关注
 

回复
举报

11

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
请教大家了~
此帖出自stm32/stm8论坛

点评

这样无法判断问题所在,还是用仿真看看,什么原因导致,清除这个中断看看。  详情 回复 发表于 2013-7-24 10:09
是不是要清除中断标记啊?  详情 回复 发表于 2013-7-24 10:08
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 

回复 沙发yi373642635 的帖子

是不是要清除中断标记啊?
此帖出自stm32/stm8论坛

点评

但官方库里的清除中断位好像不起作用 uint32_t OTGD_FS_Handle_Sof_ISR(void) { USB_OTG_GINTSTS_TypeDef GINTSTS ; GINTSTS.d32 = 0; /* Call user function */ INTR_SOFINTR_Callback();  详情 回复 发表于 2013-7-24 14:02
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

4
 

回复 沙发yi373642635 的帖子

这样无法判断问题所在,还是用仿真看看,什么原因导致,清除这个中断看看。
此帖出自stm32/stm8论坛

点评

但官方库里的清除中断位好像不起作用 uint32_t OTGD_FS_Handle_Sof_ISR(void) { USB_OTG_GINTSTS_TypeDef GINTSTS ; GINTSTS.d32 = 0; /* Call user function */ INTR_SOFINTR_Callback();  详情 回复 发表于 2013-7-24 14:03
 
个人签名我的博客
 
 

回复

1万

帖子

16

TA的资源

版主

5
 

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

此帖出自stm32/stm8论坛

点评

好像找不到107的,请问你有好介绍吗  详情 回复 发表于 2013-7-24 14:03
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 板凳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;
}
此帖出自stm32/stm8论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 5楼ddllxxrr 的帖子

好像找不到107的,请问你有好介绍吗
此帖出自stm32/stm8论坛
 
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

8
 

回复 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;
}
此帖出自stm32/stm8论坛

点评

电路确定没有问题吗?  详情 回复 发表于 2013-7-24 14:07
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

9
 

回复 8楼yi373642635 的帖子

电路确定没有问题吗?
此帖出自stm32/stm8论坛

点评

电脑没问题的,之前我是在电脑上移植103的USB,枚举和通信都成功。 因为107与103库结构不同,移植新库后枚举成功但就一直进SOF中断了。  详情 回复 发表于 2013-7-24 14:26
 
个人签名我的博客
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

10
 

回复 9楼zhaojun_xf 的帖子

电脑没问题的,之前我是在电脑上移植103的USB,枚举和通信都成功。
因为107与103库结构不同,移植新库后枚举成功但就一直进SOF中断了。
此帖出自stm32/stm8论坛

点评

USB从应该差别不大啊,仔细看看。参考一下我的那个贴:https://bbs.eeworld.com.cn/viewthread.php?tid=373781&highlight=%2Bzhaojun%5C_xf  详情 回复 发表于 2013-7-24 14:37
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

11
 

回复 10楼yi373642635 的帖子

USB从应该差别不大啊,仔细看看。参考一下我的那个贴:https://bbs.eeworld.com.cn/viewt ... ht=%2Bzhaojun%5C_xf
此帖出自stm32/stm8论坛

点评

我的就是从库3.4.0改过来的,只不过屏蔽原先库中的EXTI和ADC初始化 你有移植过的工程吗?  详情 回复 发表于 2013-7-24 21:02
 
个人签名我的博客
 
 

回复

11

帖子

0

TA的资源

一粒金砂(中级)

12
 

回复 11楼zhaojun_xf 的帖子

我的就是从库3.4.0改过来的,只不过屏蔽原先库中的EXTI和ADC初始化
你有移植过的工程吗?
此帖出自stm32/stm8论坛

点评

没有。  详情 回复 发表于 2013-7-25 06:11
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

13
 

回复 12楼yi373642635 的帖子

没有。
此帖出自stm32/stm8论坛
 
个人签名我的博客
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表