while(1)
{
switch(step)
你没理解我的代码
你把延时5秒加到case1是画蛇添足 Lkck8210 发表于 2024-8-29 10:07
你没理解我的代码
你把延时5秒加到case1是画蛇添足
可能我说的不清楚
比方说,我在程序的其它地方,有一个延时5秒的程序(延时5秒只是一个比方)
延时5秒运行2秒时,中断开始
中断结束后,程序会继续执行剩下3秒的程序。
如何打断执行剩下的3秒程序? 摇滚一族 发表于 2024-8-29 10:28
可能我说的不清楚
比方说,我在程序的其它地方,有一个延时5秒的程序(延时5秒只是一个比方)
你这种情况可以在延时函数里面判断一个标志位,如果检测到标志位被中断置位的话,就退出延时并重置step。
而其他网友给你提供的建议是不要使用延时函数,而是通过定时器分时判断方式等待5秒。
例如增加一个延时的case,1ms执行一次,在case里面判断标志位被中断置位的话就重置step,否则累计到5000ms就进入下一个step。 摇滚一族 发表于 2024-8-29 10:28
可能我说的不清楚
比方说,我在程序的其它地方,有一个延时5秒的程序(延时5秒只是一个比方)
case1 到 case5001就是延时5秒
页:
1
[2]