打印

一个程序没有执行完,可以执行另一个程序吗?

[复制链接]
7743|54
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuyl456|  楼主 | 2011-9-14 20:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用单片机做了一个16*16点阵,每个子程序执行的很好!
想把按键实时查询检测放进去,但是每次都要等一个子程序执行完才可以检测按键,换了中断检测后,也要等子程序执行完才可以切换到下一个程序。
请问有没有什么方法可以从一个程序跳转到另一个子程序?

相关帖子

沙发
zhongfushun| | 2011-9-14 20:43 | 只看该作者
用中断,设置标志位。main()中查询标志位,如标志位被置位就处理相应的子程序。

使用特权

评论回复
板凳
袁修宾66aa| | 2011-9-14 20:52 | 只看该作者
中断

使用特权

评论回复
地板
NE5532| | 2011-9-14 20:58 | 只看该作者
call不就完了,哪个call不是从一个程序跳到另一个程序?

使用特权

评论回复
5
sun520up| | 2011-9-15 01:09 | 只看该作者
如果用软件延时就把按键扫描放在Delay里面,小于10MS调用一次扫描键盘

使用特权

评论回复
6
chunyang| | 2011-9-15 01:25 | 只看该作者
最好的办法是参考实时操作系统的任务调度机制思想,适当简化后应用。

使用特权

评论回复
7
ayb_ice| | 2011-9-15 08:34 | 只看该作者
被中断即可

使用特权

评论回复
8
airwill| | 2011-9-15 08:40 | 只看该作者
找 RTOS 帮你的忙了. 如果资源跟不上. 那就优化你的程序, 把子程序打断成若干小子程序

使用特权

评论回复
9
飞言走笔| | 2011-9-15 09:43 | 只看该作者
是否可以参考下这个帖子:
https://bbs.21ic.com/icview-237577-1-1.html

使用特权

评论回复
10
ayb_ice| | 2011-9-15 10:01 | 只看该作者
标准C有个setjmp是用来做这个的

使用特权

评论回复
11
icecut| | 2011-9-15 10:04 | 只看该作者
lz在乱搞....上系统吧

使用特权

评论回复
12
linbei1988| | 2011-9-15 10:18 | 只看该作者
应该是把显示放在中断里刷新,按键循环检测才是啊

使用特权

评论回复
13
7120223| | 2011-9-15 10:31 | 只看该作者
这个程序应该 不是很复杂的吧 楼主是没有合理的分配好 资源

使用特权

评论回复
14
NE5532| | 2011-9-15 10:46 | 只看该作者
但是首先要说清楚,是不是需要这么复杂的调度。

使用特权

评论回复
15
lh8008| | 2011-9-15 13:43 | 只看该作者
最好是用定时中断。

使用特权

评论回复
16
chxgzl4862| | 2011-9-15 14:18 | 只看该作者
顶!参考操作系统的做法哈!

使用特权

评论回复
17
wang1991| | 2011-9-15 15:26 | 只看该作者
定时中断!

使用特权

评论回复
18
xiang87737274| | 2011-9-15 15:30 | 只看该作者
你可不可以加
if()
break;
进去作为跳出。应该可以直接退出当时执行程序。

使用特权

评论回复
19
mwx073| | 2011-9-15 17:13 | 只看该作者
可以用中断程序

使用特权

评论回复
20
joecongmin| | 2011-9-15 17:52 | 只看该作者
可以用定时器定时10MS进中断,每10MS扫一下点阵,每40MS,扫一次按键

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

75

帖子

1

粉丝