打印
[STC单片机]

关于主函数和中断函数同时调用一个子函数的问题

[复制链接]
8040|36
手机看帖
扫描二维码
随时随地手机跟帖
沙发
luofeng2g| | 2014-12-9 08:59 | 只看该作者
这么古怪的程序,改改吧!!

使用特权

评论回复
板凳
ayb_ice| | 2014-12-9 09:00 | 只看该作者
那是因为函数不重入引起的

最简单的处理是建两个功能一样的函数,名字不一样就可以了

使用特权

评论回复
地板
wangch_sh| | 2014-12-9 09:00 | 只看该作者
不要这么干!

使用特权

评论回复
5
mylsf| | 2014-12-9 09:00 | 只看该作者
按照3楼的来吧

使用特权

评论回复
6
ningling_21| | 2014-12-9 09:04 | 只看该作者
同3楼

使用特权

评论回复
7
YingziSeek| | 2014-12-9 09:09 | 只看该作者

使用特权

评论回复
8
秋水水天|  楼主 | 2014-12-9 09:14 | 只看该作者
wangch_sh 发表于 2014-12-9 09:00
不要这么干!

嗯,我试试

使用特权

评论回复
9
秋水水天|  楼主 | 2014-12-9 09:14 | 只看该作者
wangch_sh 发表于 2014-12-9 09:00
不要这么干!

?不能像3楼说的那样?

使用特权

评论回复
10
秋水水天|  楼主 | 2014-12-9 09:15 | 只看该作者
mylsf 发表于 2014-12-9 09:00
按照3楼的来吧

ok

使用特权

评论回复
11
秋水水天|  楼主 | 2014-12-9 09:15 | 只看该作者
ningling_21 发表于 2014-12-9 09:04
同3楼

ok

使用特权

评论回复
12
wangch_sh| | 2014-12-9 09:18 | 只看该作者
可以像3楼说得那样,不过你要确保不出问题,里面的变量在两个地方都或被更改。

使用特权

评论回复
13
秋水水天|  楼主 | 2014-12-9 09:21 | 只看该作者
wangch_sh 发表于 2014-12-9 09:18
可以像3楼说得那样,不过你要确保不出问题,里面的变量在两个地方都或被更改。 ...

那怎么才能把它写成可重入函数?我用中断调用之后就不在回去了,直接死循环。

使用特权

评论回复
14
wangch_sh| | 2014-12-9 09:22 | 只看该作者
你那个函数是什么样的?完成什么功能?

使用特权

评论回复
15
秋水水天|  楼主 | 2014-12-9 09:27 | 只看该作者
wangch_sh 发表于 2014-12-9 09:22
你那个函数是什么样的?完成什么功能?

主函数调用了h文件里的子函数,在主函数调用的时候,如果断电的话进入中断存取数据然后死循环。可能不会那么巧在子函数断电,但感觉也要考虑的。

使用特权

评论回复
16
wangch_sh| | 2014-12-9 09:30 | 只看该作者
你在主程序调用时要关中断。再问一下,你那个是什么中断?

使用特权

评论回复
17
秋水水天|  楼主 | 2014-12-9 09:32 | 只看该作者
wangch_sh 发表于 2014-12-9 09:30
你在主程序调用时要关中断。再问一下,你那个是什么中断?

外部中断,检测到断电就执行。

使用特权

评论回复
18
苏山人家| | 2014-12-9 09:32 | 只看该作者
只要函数里面没有加static变量应该是可以的

使用特权

评论回复
19
秋水水天|  楼主 | 2014-12-9 09:50 | 只看该作者
苏山人家 发表于 2014-12-9 09:32
只要函数里面没有加static变量应该是可以的

好像是解决了,我好好看看再说。

使用特权

评论回复
20
秋水水天|  楼主 | 2014-12-9 10:13 | 只看该作者
luofeng2g 发表于 2014-12-9 08:59
这么古怪的程序,改改吧!!

额,古怪吗?

使用特权

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

本版积分规则

36

主题

227

帖子

0

粉丝