什么是FreeRTOS?
FreeRTOS我们可以理解为”一心多用“,什么意思呢?它指的是在我们的系统中,可以同时运行并处理多个事件,也就是多线程并行。FreeRTOS是基于单片机的一种多线程任务管理操作系统,我们称之为(Real Time Operating System)实时操作系统。它的实时性就是源自多任务同时运行,那么什么又是多任务同时运行呢?韦东山老师举得列子再形象不过了。假设一个妈妈在喂宝宝吃饭,同时,她也在用电脑和朋友聊天。在这样的情景下,一般人的做法是,给孩子喂饭,如果有信息来,她去回复信息,然后孩子哇哇大哭她再去喂孩子,这样的话,对于两边来说,她就是处理完这个任务再去处理另外的任务,这二者不是同时运行,而这也就是裸机开发的原理。如果CPU一直在处理同一件事情,那么在没有中断干涉的情况下,MCU就会一直等处理完这个任务再去处理下一个任务。那么什么是实时操作系统RTOS呢?就是这个妈妈在开始这两个任务前,把每个任务拆分成多个步骤,比如将喂饭分成挖饭、伸手、收手三个步骤,把回信息也分成几个步骤,这样在执行挖饭之后立马执行回信息的第一个步骤,然后回到喂饭的伸手步骤,再到回信息的第二个步骤,以此循环,这样对于两边来说,妈妈一直都在执行自己这边的任务。
如何去创建一个RTOS的任务?
在RTOS中,任务(Task)是系统中执行的基本单元。任