PIC 实验中的一个怪现象:如图

[复制链接]
2772|5
 楼主| hsw_21 发表于 2009-9-29 15:57 | 显示全部楼层 |阅读模式
本帖最后由 hsw_21 于 2009-9-29 16:03 编辑


调试工具: ICD2 LE

点了右上角复位按钮后, 程序指针不回到第一条语句?
这是什么问题呢。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
yewuyi 发表于 2009-9-29 16:16 | 显示全部楼层
软复位,只是回到你的代码的第一条罢了,但因为在你的代码之前还有C语言的启动代码库,所以,它的地址肯定不是0X0000了。

没什么奇怪。
 楼主| hsw_21 发表于 2009-9-29 16:59 | 显示全部楼层
谢谢,听叶公讲,我现在不奇怪了。:)
但是我前面还有 初始化程序,在线仿真的时候就执行不到了,
能把软复位 设置返回到 0X0000 地址 吗?
XIEYUANBIN 发表于 2009-9-29 20:25 | 显示全部楼层

本帖最后由 XIEYUANBIN 于 2009-9-29 20:27 编辑

ICD2,DEBUG时在程序开头需要加一个NOP,否则你看不到复位后指针指向第一句,但实际上这一句应该是已经执行了的.这是因为ICD2每次停止总是停在你指定的地址下一句.这个是ICD2的局限.
 楼主| hsw_21 发表于 2009-9-30 08:38 | 显示全部楼层
噢,谢谢两位大侠指点,我再实验试试。。。
同时 :initial() 是一个整个系统初始化函数功能块;不只是一条语句。
 楼主| hsw_21 发表于 2009-9-30 20:17 | 显示全部楼层
试验了,加了一个 NOP ,暂时解决问题。

谢谢!:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

417

主题

2675

帖子

1

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