关于同一函数在主函数和中断中调用的问题
一子函数在主函数中调用同时也在中断函数中调用了,虽然考虑了在时间上未重叠,但以防万一,通常做法是将该子函数重新命名,再写个与之同功能函数供中断调用。请问还有没有更好的办法呢?如果子函数有三级以上子函数嵌套,这样岂不是很麻烦?
[解决办法]
这个最应该被优先的考虑的问题是:真有什么函数必须在主函数和中断中同时调用么?
虽然,我接触的不多,到目前为止也就写了七八年的代码。真心没有发现有什么样的实现必须有这个需求
除非那些太高科技的,我没接触过的,也许有必要!
[解决办法]
reentry可以,不过我没真正用过,以前试过一次导致RAM暴增,后来放弃了
[解决办法]
在主程序调用函数前关中断,退出调用后再开中断。
[解决办法]
LZ再好好理理吧,不出意外一定可以找到不用重入的办法的
[解决办法]
如果你的函数支持可重入应该不会有问。我的理解,重入问题也就是解决竞争问题。
[解决办法]
把你的函数改成可重入的,如果需要操作共享变量,为此变量加信号量互斥访问;
函数内部需要判断是否获得操作权,并作相应处理。