[STC单片机] 关于主函数和中断函数同时调用一个子函数的问题

[复制链接]
9210|36
 楼主| 秋水水天 发表于 2014-12-9 08:49 | 显示全部楼层 |阅读模式
同时调用的话会有警告,这要怎么处理?
luofeng2g 发表于 2014-12-9 08:59 | 显示全部楼层
这么古怪的程序,改改吧!!
ayb_ice 发表于 2014-12-9 09:00 | 显示全部楼层
那是因为函数不重入引起的

最简单的处理是建两个功能一样的函数,名字不一样就可以了
wangch_sh 发表于 2014-12-9 09:00 | 显示全部楼层
不要这么干!
mylsf 发表于 2014-12-9 09:00 | 显示全部楼层
按照3楼的来吧
ningling_21 发表于 2014-12-9 09:04 | 显示全部楼层
YingziSeek 发表于 2014-12-9 09:09 | 显示全部楼层
 楼主| 秋水水天 发表于 2014-12-9 09:14 | 显示全部楼层
wangch_sh 发表于 2014-12-9 09:00
不要这么干!

嗯,我试试
 楼主| 秋水水天 发表于 2014-12-9 09:14 | 显示全部楼层
wangch_sh 发表于 2014-12-9 09:00
不要这么干!

?不能像3楼说的那样?
 楼主| 秋水水天 发表于 2014-12-9 09:15 | 显示全部楼层
mylsf 发表于 2014-12-9 09:00
按照3楼的来吧

ok
 楼主| 秋水水天 发表于 2014-12-9 09:15 | 显示全部楼层
ningling_21 发表于 2014-12-9 09:04
同3楼

ok
wangch_sh 发表于 2014-12-9 09:18 | 显示全部楼层
可以像3楼说得那样,不过你要确保不出问题,里面的变量在两个地方都或被更改。
 楼主| 秋水水天 发表于 2014-12-9 09:21 | 显示全部楼层
wangch_sh 发表于 2014-12-9 09:18
可以像3楼说得那样,不过你要确保不出问题,里面的变量在两个地方都或被更改。 ...

那怎么才能把它写成可重入函数?我用中断调用之后就不在回去了,直接死循环。
wangch_sh 发表于 2014-12-9 09:22 | 显示全部楼层
你那个函数是什么样的?完成什么功能?
 楼主| 秋水水天 发表于 2014-12-9 09:27 | 显示全部楼层
wangch_sh 发表于 2014-12-9 09:22
你那个函数是什么样的?完成什么功能?

主函数调用了h文件里的子函数,在主函数调用的时候,如果断电的话进入中断存取数据然后死循环。可能不会那么巧在子函数断电,但感觉也要考虑的。
wangch_sh 发表于 2014-12-9 09:30 | 显示全部楼层
你在主程序调用时要关中断。再问一下,你那个是什么中断?
 楼主| 秋水水天 发表于 2014-12-9 09:32 | 显示全部楼层
wangch_sh 发表于 2014-12-9 09:30
你在主程序调用时要关中断。再问一下,你那个是什么中断?

外部中断,检测到断电就执行。
苏山人家 发表于 2014-12-9 09:32 来自手机 | 显示全部楼层
只要函数里面没有加static变量应该是可以的
 楼主| 秋水水天 发表于 2014-12-9 09:50 | 显示全部楼层
苏山人家 发表于 2014-12-9 09:32
只要函数里面没有加static变量应该是可以的

好像是解决了,我好好看看再说。
 楼主| 秋水水天 发表于 2014-12-9 10:13 | 显示全部楼层
luofeng2g 发表于 2014-12-9 08:59
这么古怪的程序,改改吧!!

额,古怪吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

227

帖子

0

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