子程序为什么不能用沿

时间:2025-01-28 00:36:59 手机游戏

子程序 不能使用沿指令的原因主要在于沿指令的特性及其在子程序中的行为。沿指令,如上升沿和下降沿,需要两个位值:一个是触发位,另一个是存储沿触发状态的位值。当在子程序内部使用沿指令时,这些位值的正确性难以保证,尤其是在子程序被多次调用的情况下。

具体来说,当子程序在同一个周期内被多次调用时,子程序内部不能使用上升沿、下降沿、定时器和计数器指令。这是因为子程序在同一个周期内被多次调用时,内部变量对应的地址是相同的临时变量,导致沿指令无法正确触发。例如,上升沿必须要有零到一的变化过程,而在同一个周期内多次调用子程序时,这个变化过程无法满足,从而导致上升沿无效。

此外,如果在子程序内部使用沿指令,需要将这些沿指令“提取”到子程序的管脚外部,以确保它们的正确性。

综上所述,子程序中不建议使用沿指令,尤其是在子程序被多次调用的情况下。如果必须使用沿指令,建议将其提取到子程序的管脚外部,以确保其正确性和可靠性。