裸机就是不带操作系统的,一般都是在主函数中,写一个死循环,在这个循环中实现功能的
与之对立的就是带有操作系统的编程,典型的就是可以有多个死循环,每个循环就是一个任务,每个任务相互独立
裸机编程一般是分为两大类:轮询系统和前后台系统
轮询系统:就是在一个死循环中执行功能代码,每隔功能都是按照顺序进行执行的,这也就导致了如果某一个功能块执行时间长,其他需要实时检测的功能,不能够及时的被响应,例如按键检测之类的;也就是执行是轮询的,响应也是轮询的,实时性比较差。
前后台系统:这个编写方式利用到了中断,利用中断处理响应问题,这个就解决了响应不够及时的问题,但是执行还是轮询的;前台也就是终端服务程序那部分,依靠中断决定一些标志位,然后在主程序中根据这个标志位判断是否执行相应的任务;
带操作系统的编程:
那就是多任务系统,这个系统解决了响应不够及时以及执行不够及时的问题。他的核心在与引入了一个任务的概念,每隔需要执行的功能都被划分为一个任务,每个任务都是相互独立的(独立的一个死循环),他们之间的执行顺序是按照优先级的不同,来执行的,高优先级的可以打断低优先级的,所以这个系统,可以响应比较急的任务,例如应用在电梯系统中,开关门的实时性影响着这个电梯是否安全。
#好好学习!