这样的程序,运行终止后,PC指针在哪个位置?

[复制链接]
1086|20
 楼主| jiahy 发表于 2017-2-13 19:46 | 显示全部楼层 |阅读模式

main()
{
     do_init();

    int i = 0;
     while (i++ < 10000)
     {
         if(task_ok())
             break;
     }

    do_finish();
}
lizye 发表于 2017-2-13 19:51 | 显示全部楼层
然后呢?你是怎么应对这个的呢
 楼主| jiahy 发表于 2017-2-13 19:54 | 显示全部楼层
此时的MCU的功耗怎样的?(不考虑外围器件)
 楼主| jiahy 发表于 2017-2-13 19:56 | 显示全部楼层
还有,reset引脚复位,程序是否可以重新运行?
zhaoxqi 发表于 2017-2-13 19:58 | 显示全部楼层

PC指针应该指向do_finish();末
heweibig 发表于 2017-2-13 20:03 | 显示全部楼层
这个看你时钟设置 了
suzhanhua 发表于 2017-2-13 20:57 | 显示全部楼层
PC指针不是do_finish()?
suzhanhua 发表于 2017-2-13 20:58 | 显示全部楼层
这个运行终止,程序就可以不执行了。
heweibig 发表于 2017-2-14 19:00 | 显示全部楼层
复位后可以重新运行
jiajs 发表于 2017-2-14 19:03 | 显示全部楼层
1.do_finish()里面如果没有while(1)之类的结构,PC会不断加一跑到程序之外,然后就看你的代码之外载的是什么了,是一堆FF还是一堆00,不过一般会等价于NOP指令,PC溢出,程序复位,从头开始。
jiajs 发表于 2017-2-14 19:05 | 显示全部楼层
2.一样的,你没有专门的进行功耗控制,那原先是怎样就是怎样的。
jiajs 发表于 2017-2-14 19:07 | 显示全部楼层
3,复位后可以重新运行
dengdc 发表于 2017-2-14 19:09 | 显示全部楼层
MCU的程序是不能“终止”的。用个死循环。
 楼主| jiahy 发表于 2017-2-14 19:11 | 显示全部楼层
嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽
youtome 发表于 2017-2-14 21:53 | 显示全部楼层
PC指针运行到哪里了。
youtome 发表于 2017-2-14 21:55 | 显示全部楼层
运行终止后就是在while循环里面了。
angerbird 发表于 2017-2-14 22:54 | 显示全部楼层
这个就仿真调试的看看
comeon201208 发表于 2017-2-14 23:24 | 显示全部楼层
这个主要看看PC指针的,,全速运行下,然后停止运行的,,最后看栈空间的
comeon201208 发表于 2017-2-14 23:25 | 显示全部楼层
感觉还是太深层的了,不是明白的
Rollo 发表于 2017-2-15 21:34 | 显示全部楼层

PC指针运行到哪里了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

862

主题

9861

帖子

4

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