我是靠谱客的博主 单纯酒窝,最近开发中收集的这篇文章主要介绍UCOSIII--嵌入式系统、轮询系统和前后台系统,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、裸机系统

裸机系统通常分为轮询系统和前后台系统,

1.1、轮询系统

轮询系统伪代码

int main(void)

{

    //硬件相关初始化

    HardWareInit();

   //无限循环

    for( ; ;)

 {

    //处理事情1

    DoSomething1();

    //处理事情2

    DoSomething2()

  }

}

轮询系统只适合顺序执行的功能代码,当有外部驱动时,实时性就会降低。

1.2、前后台系统

相比轮询系统,前后台系统是在轮询系统的基础上加入了中断。外部事件的响应在中断里面完成,事件的处理还是回到轮询系统中完成,中断在这里我们称之为前台,main函数里面的无限循环我们称之为后台。

前后台系统伪代码

int flag1 = 0;

int flag2 = 0;

int flag3 = 0;

int main(void)

{

     //硬件相关初始化

    HardWareInit();

    //无限循环

    if(flag1)

    {

        //处理事情1

       DoSomething1();

    }

if(flag2)

{

    //处理事情2

    DoSomething2();

}

if(flag3)

{

    //处理事情3

DoSomething3();

}

}

void ISR1(void)

{

flag1=1;

//如果时间处理时间很短,则在中断里面处理

//如果时间处理时间很长,再回到后台处理

DoSomething1();

}

void ISR2(void)

{

flag1=2;

//如果时间处理时间很短,则在中断里面处理

//如果时间处理时间很长,再回到后台处理

DoSomething2();

}

void ISR3(void)

{

flag3=1;

//如果时间处理时间很短,则在中断里面处理

//如果时间处理时间很长,再回到后台处理

DoSomething3();

}

前后台系统确保了事件不会丢失,再加上中断的嵌套功能,这可以大大提高程序的实时响应能力

2、多任务系统

相比前后台系统,多任务系统的时间响应也是在中断中完成的,但是事件的处理是在任务中完成的。在多任务系统中,任务跟中断一样,也具有优先级,优先级高的任务会优先执行。当一个紧急的事件在中断被标记之后,如果时间对应的任务的优先级足够高,就会立马得到响应。相比前后台系统,多任务系统的实时性又提高了

多任务系统伪代码:

int flag1 = 0 ;

int flag2 = 0;

int flag3 = 0;

int main(void)

{

    //硬件相关初始化

    HardWareInit();

    //OS初始化

    RTOSInit();

    //OS启动,开启多任务调度,不再返回

    RTOSStart();

}

void ISR1(void)

{

    flag1=1;//置标志位

}

void ISR2(void)

{

    flag2=1;//置标志位

}

void ISR3(void)

{

    flag1=3;//置标志位

}

void DoSomething1(void)

{

//无限循环,不能返回

    for(; ;)

    {

        if(flag1)   {}

    }

}

void DoSomething2(void)

{

//无限循环,不能返回

    for(; ;)

    {

        if(flag2)  {}

    }

}

void DoSomething3(void)

{

//无限循环,不能返回

    for(; ;)

    {

        if(flag3)  {}

    }

}

 

 

        参考资料:野火UCOSIII手册

最后

以上就是单纯酒窝为你收集整理的UCOSIII--嵌入式系统、轮询系统和前后台系统的全部内容,希望文章能够帮你解决UCOSIII--嵌入式系统、轮询系统和前后台系统所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部