stm32f107usb热插拔又一怪现象

[复制链接]
2987|5
 楼主| chengying 发表于 2012-7-3 16:34 | 显示全部楼层 |阅读模式
用usb的hid通信,程序从0x8000000处,带电拔掉usb再重新插上,usb能重新枚举恢复通信,而只要让程序从0x800a000处开始运行,0x8000000处加载了dfu的iap,程序可以正常运行,但是usb一拔掉再重新插上,usb无法重新枚举,通信失败
lxyppc 发表于 2012-7-3 16:58 | 显示全部楼层
会不会是中断向量的问题
虽然程序在0x800a000处开始,但是中断向量还是在0x8000000处
 楼主| chengying 发表于 2012-7-3 17:18 | 显示全部楼层
我中断向量改了,也改到0x800a000处,
 楼主| chengying 发表于 2012-7-4 09:34 | 显示全部楼层
香主在哪呀,帮忙看看
 楼主| chengying 发表于 2012-7-4 10:31 | 显示全部楼层
发现只要拔掉usb,程序居然跳到iap去执行,邪门了,本来是在我用户区0x800a000处执行。火大了。
 楼主| chengying 发表于 2012-7-4 11:16 | 显示全部楼层
找到问题,拔掉usb后,usb进入suspend中断,中断让usb进入Sleep mode,之后插上usb,进入wakeup中断,在这里边重新把中断向量定位一下就ok!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

42

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部