求问如何使几个无限循环程序可以互相打断?

2019-07-21 01:35发布

本帖最后由 Ane 于 2019-4-19 18:50 编辑

新人第一次发帖,学STM32没多久,原子的教程里很多实验还没看。

现在想编一个程序能够实现:有3种模式,每个都是一个无限循环程序,想让这3种模式可以互相打断。
求问有没有可能做到以及怎样可以做到?
(几个模式就当是通过按键来选择吧)
中断和UCOS都是有优先级的,不能做到互相打断吧。

提前感谢各位的指导!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
nashui_sx
2019-07-21 21:38
本帖最后由 nashui_sx 于 2019-4-19 19:29 编辑
Ane 发表于 2019-4-19 18:42
你好,可以稍稍指点下吗?应该使用什么方法处理

假如能容忍执行完这当前循环再切换,这样最简单
volatile u8 zhuangtai=0;
void 中断函数(void)
{
    zhuangtai=x;
}
void main(void)
{
       while(1)
       {
                while(zhuangtai==0)
                {
                 //循环0

                }        
                while(zhuangtai==1)
                {
                 //循环1
                        
                }               
                 while(zhuangtai==2)
                {
                 //循环2
                        
                }  
       }                              
}

一周热门 更多>