STM32F10x 在线调试,在USB_init()里面一直死循环

[复制链接]
5344|6
 楼主| poiuytre_yy 发表于 2010-8-23 16:08 | 显示全部楼层 |阅读模式
用的ST-link的debugger,用的demo程序改写,当在线调试的时候,在usb_init()里面一直死循环,在不断的运行NOP_Process(); Bus Hound 里面显示no respond, no device。

但是把程序烧进去以后,把ST-link的debugger拔掉,一切能够正常运行,包括USB和其他运算功能,只是不能在线调试的话,有很多问题都发现不了,很不方便,望香水城大大给予帮助,谢谢!
香水城 发表于 2010-8-23 17:58 | 显示全部楼层
在线调试的时候,如果不设置断点,直接运行有问题吗?
lxyppc 发表于 2010-8-23 20:12 | 显示全部楼层
调USB是有点烦
但是ST官方的例子加官方的开发板再按照官方的描述连接跳线是可以调试的(J-Link)

即要在代码中能控制D+电平,且电路也能实际控制D+电平
先打开USB时钟,再上拉D+,中间间隔个几百个ms

ST Link调起来会更麻烦一些,可以试试用条件断点,先跑起来再用按键进入中断条件
 楼主| poiuytre_yy 发表于 2010-8-24 09:26 | 显示全部楼层
在线调试的时候,如果不设置断点,直接运行有问题吗?
香水城 发表于 2010-8-23 17:58

如果不设置断点,程序烧好之后自动从Main()开始运行,但是还是会在usb_inti()这里卡起,运行不了后面的内容
香水城 发表于 2010-8-24 10:29 | 显示全部楼层
如果不设置断点,程序烧好之后自动从Main()开始运行,但是还是会在usb_inti()这里卡起,运行不了后面的内容
poiuytre_yy 发表于 2010-8-24 09:26


请在运行之前手动按板上的复位按钮进行一下复位,然后再按调试器上的复位按钮复位一次。
 楼主| poiuytre_yy 发表于 2010-8-24 11:07 | 显示全部楼层
请在运行之前手动按板上的复位按钮进行一下复位,然后再按调试器上的复位按钮复位一次。
香水城 发表于 2010-8-24 10:29

香水大大,已经按照您的说法试过,还是不行,而且ST-link上面好像没有复位键。
香水城 发表于 2010-8-24 11:16 | 显示全部楼层
本帖最后由 香水城 于 2010-8-24 11:24 编辑
请在运行之前手动板上的复位按钮进行一下复位,然后再按调试器上的复位按钮复位一次。
香水城 发表于 2010-8-24 10:29


板上的复位按钮,不是STLINK的。再按调试器上的复位按钮,是指调试软件上的复位按钮。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

3

帖子

0

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