目录
单片机各编程系统特点
单片机编程中有裸机系统与多任务系统。裸机系统又分为轮询系统和前后台系统,FreeRTOS就是一种多任务系统(RTOS为实时操作系统,Free就是免费的)。
1、裸机系统
(1)轮询系统
轮询系统就是依次顺序执行任务程序,将任务程序放在一个大循环里面无限循环。任务没有优先级,需执行的程序不能快速响应,没有实时性。
(2)前后台系统
在轮询系统的基础上添加中断任务程序就是前后台系统。在大循环里执行的是后台任务,在中断里执行的就是前台任务。通常把需要实时响应的任务放在中断里执行,可设置高中断优先级提高任务的实时性。相较于轮询系统提升了系统实时性。
2、多任务系统
“多任务系统的任务是同时执行的”。多任务系统中每个任务都是一个独立的死循环,任务也有优先级,高优先级的先执行。在系统运行中,每个任务执行的时间(很短)相同,系统将1秒分为多个时间段,一个时间段执行一个任务,任务的切换由任务调度器完成。例如1ms执行一个任务,在一秒中系统就执行了很多任务,可以看成多个任务是同时执行的。大大提高了实时性。
/*所有图源《野火课件PPT》*/