RTOS为什么会出现?
延时浪费时间
你有没有发现,delay ()很耗费时间,因为他的本质是一直在减一个i变量,i–,减够一定时间了就是延时
比如按键的消抖,为了去除干扰,你一定要耗费几十ms确认多次按键信号。当你有多个按键时就会忙不过来
有一种完全不耗费的时间的方法,不用延时,只记录时间戳,比如你要2秒后运行,现在是第1秒,那你就在第3秒运行。中间的时间你运行其他任务
这就是RTOS多任务的任务调度,也是任何操作系统的原理
数据通信
我们还遇到过一个问题,如果一个文件里很多个函数都要共用一堆数据。我们一般会把它写成公用变量(写在最前面),或者写成公有结构体。如果别的文件要用,我们就写在.h文件里给其他文件引用
可这样有点麻烦,可不可以创建一块全局空间,把公用数据存进去
这就是RTOS的“消息队列”