找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2019|回复: 8
收起左侧

小弟有提问题关于中断的

[复制链接]
ID:164174 发表于 2017-2-13 13:51 | 显示全部楼层 |阅读模式
程序执行完中断以后 是回到中断的继续执行 。可我想执行完中断后 回到主程序重新开始,
能实现吗 怎么搞
回复

使用道具 举报

ID:85726 发表于 2017-2-13 13:57 | 显示全部楼层
关键在于中断的溢出时间!
回复

使用道具 举报

ID:164174 发表于 2017-2-13 14:07 | 显示全部楼层
ning 发表于 2017-2-13 13:57
关键在于中断的溢出时间!

还请大哥 详解一下
回复

使用道具 举报

ID:85726 发表于 2017-2-13 14:19 | 显示全部楼层
计算好主函数的执行时间,在定好中断的溢出时间就可以了!主函数刚执行完,中断就溢出,中断服务函数执行完之后回到主函数刚好重头开始!

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:153041 发表于 2017-2-13 22:09 | 显示全部楼层
在主函数开头的地方做一个标记 start: ,中断执行完后,直接goto start。 如果不管堆栈情况的话。
回复

使用道具 举报

ID:153041 发表于 2017-2-13 22:11 | 显示全部楼层
还有一种比较完美的方法,直接赋值pc指针到主函数,然后中断返回。
回复

使用道具 举报

ID:27916 发表于 2017-2-14 08:45 | 显示全部楼层
在中断里面设置一个标志,中断退出后再主循环里面判断这个标志,如果这个标志有效,则JMP 0
回复

使用道具 举报

ID:7485 发表于 2017-2-14 11:25 | 显示全部楼层
跳转、更改PC值都可以。

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:67774 发表于 2017-2-16 16:50 | 显示全部楼层
可以实现的。
楼上的几位朋友回答的都可以。 要回到主程序开头,就是跳转到程序开头的地址,
这个就是一条跳转指令的事儿。真正要注意的是:你中断没有返回。所以你跳转前后要恢复中断现场。
6# 楼的方法不错。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表