一、rtos简介
RTOS,又叫real time operation system.最重要的就是这个实时的概念,我们写程序在用的方法应该叫轮询,带上中断之后应该就叫前后台系统,比如这个图是我们一般写程序的方法。没有中断前,我们的CPU一直在主函数的这个while(1)里面反复执行。虽然后来我们有了中断,中断的任务和CPU的任务确实了也是独立运行的,其实已经很类似操作系统这种模式了,但是一般我们在中断里只是改变一些标志量,我们自从上学的时候应该都听过,中断毕竟是异常,不能塞很多事件,影响系统的实时性,因为main函数里的while循环才是我们工作的主体,所以中断里我们往往只是改变一些标志量,读取一些数据,主要的处理还是在main函数里处理。所以中断里改变标志后还是在主函数里轮询到这个事件才能去处理,这是一般的写程序流程。这就突出了RTOS是如何保证实时运行的,这个我们后面会再说。
下面对比一下我们经常写程序的方法,也就是我们为什么要学RTOS,我会从以下几个方面分别进行讨论,首先从开发难度上来讲,那最简单的肯定就是轮循了,一般一个新手你告诉他主函数里一个whil(1)大循环就可以了,把你要做的事分条目的列举出来,这种方式肯定最简单,后来因为效率问题,又学习了中断。这样有前后台,基本所有的程序都可以用这种方法写了。其实一般一个好的前后台抵得上一个RTOS了。但是这对编程者的要求一般比较高,能把握程序的分配,哪些用中断,哪些代码消耗多少时间,哪些对响应度比较高,比如按键吧,或者是用户发送的串口命令等等。而RTOS则有一堆的API函数,而且还有一些编程技巧。所以对编程者有一定的要求。但是你一旦掌握了RTOS的编程方法,你就永远不想再回到前后台了。第二从开发周期上讲,最快的方式莫过于RTOS了,其实我们程序写多了就