这个问题我没有思路解决。
建立一个子程序,程序中需要多个地方进行调用,但是这多个地方不能同时调用。如果同时调用的话先扫描的地方一直执行,后面的调用一直不运行或者什么,反正就一直等待,到正在执行的这个调用不再执行了。后面申请调用的没有先后次序,只有扫描次序,先扫描就先执行。
例如MODBUS库程序的msg指令,定位库程序的各个功能调用,都是先到先得,同时不能两个一起调用。同时的意思是有一个激活的时候不能激活另外一个,就算被激活,实际运行也是不活动的。
现在问题点是,要在子程序内部达成这样的安排策略,而不能依靠外部进行限制调用。对于子程序外的调用请求,是任意的,随机的。子程序也要自己遵守同时只能激活一个的规则。
随便说说。说说。