主程序中加一个计时功能,用while循环写了一个简单的计时器,使用探针发现,主循环的变量值传递不到从循环中,导致计时器开始计时却不能停止。
如下图:主循环的变量值(探针3,8,10)发生改变,从循环(探针4,9,11)的变量值并未发生变化导致计时器不能停止
解决方法:
增加顺序结构,主循环停止计时为T,等待1s以上,确保计时器循环跳出后,将开始计时置为F,然后将循环停止置为T。如下图。全球变量和局部变量都可以。
计时器退出解决了,在运行的过程中还发现,计时器有时启动有时不启动,用探针发现计时器中的全局变量-循环停止一直为T,循环停止初始化为F放在循环外即可(原因:我将全局变量-循环停止的初始化放在主循环中,程序一启动,从循环中全局变量-循环停止读到的直为上次的运行值,上次运行值为F,计时器启动,如果上次运行值为T,计时器就不启动了)。