Lkck8210 发表于 2024-8-29 10:07:50

摇滚一族 发表于 2024-8-28 17:58
while(1)
{
      switch(step)


你没理解我的代码
你把延时5秒加到case1是画蛇添足

摇滚一族 发表于 2024-8-29 10:28:35

Lkck8210 发表于 2024-8-29 10:07
你没理解我的代码
你把延时5秒加到case1是画蛇添足

可能我说的不清楚

比方说,我在程序的其它地方,有一个延时5秒的程序(延时5秒只是一个比方)
延时5秒运行2秒时,中断开始
中断结束后,程序会继续执行剩下3秒的程序。
如何打断执行剩下的3秒程序?

乘风飞扬 发表于 2024-8-29 10:47:33

摇滚一族 发表于 2024-8-29 10:28
可能我说的不清楚

比方说,我在程序的其它地方,有一个延时5秒的程序(延时5秒只是一个比方)


你这种情况可以在延时函数里面判断一个标志位,如果检测到标志位被中断置位的话,就退出延时并重置step。
而其他网友给你提供的建议是不要使用延时函数,而是通过定时器分时判断方式等待5秒。
例如增加一个延时的case,1ms执行一次,在case里面判断标志位被中断置位的话就重置step,否则累计到5000ms就进入下一个step。

Lkck8210 发表于 2024-8-29 10:47:58

摇滚一族 发表于 2024-8-29 10:28
可能我说的不清楚

比方说,我在程序的其它地方,有一个延时5秒的程序(延时5秒只是一个比方)


case1 到 case5001就是延时5秒
页: 1 [2]
查看完整版本: 请教一个中断问题