FreeRtos到底是干嘛的,与普通的单片机编程(裸机开发)的区别

348 阅读2分钟
  1. 嵌入式方面,很多人都知道裸机开发(也就是普通的单片机开发),也知道实时操作系统,但是大家都搞不懂他们到底有什么区别,使用实时操作系统到底有什么样的优势?
  2. 在日常的单片机开发中我们一般使用轮询系统或者前后台系统,轮询系统可以理解为一个while(1)那种死循环,一直循环执行很多的任务
    例如while(1) { //点亮LED //判断按键是否按下 //摄像头接收数据 //接收温湿度数据 //等等等 }

但是我们在执行点亮LED的时候,如果此时按下按键,那么就检测不到按键按下。所以这样是不好的。 前后台系统是什么呢,就是把按键作为中断来处理,然后while循环的就后台系统,作为中断的按键叫前台系统,如果执行到LED,但是按键按下了,就会触发中断,这样相比于轮询系统是好的,而且单片机几乎都是使用前后台系统。 那么为什么要引入前后台系统呢,因为执行的任务也是有重要性的高低的,像工业控制工厂,有些工厂对温度要求很高(防止出现意外情况),那么点灯就是次要的,所以我们采用操作系统,就好比给他们这些任务贴上标签一样,序号低的越重要,也就是优先级高,当低优先级的在运行的时候,忽然出现高优先级的,就会把CPU使用权给高优先级,所以会先处理优先级高的事情,而且也会响应中断,中断可以理解为优先级最高的。