前言:
在没有使用操作系统的情况下,一个合理的裸机任务调度方式,可以更好的提供数据的处理,和用户体验,有多种任务调度的方式。
方案 1:
从上到下的任务调度方式,C语言程序的代码是在main函数中从上到下一个个的进行调度的,这种任务调度方式在实际的开发中并不提倡,所有业务模块全部在main函数中哈while死循环中放,实际上这种方案并不值得提倡。
方案 2:
按需分配的任务调度方式,这种方案是使用定时器中断和时间片分配机制实现的,在while循环中每一个业务功能模块对应一个时间片的标志,如果这些时间片标志位为true,那么就会执行调度对应的业务功能模块。
方案 3:
第三种程序任务调度框架,和业务相关的代码仅仅出现在数组初始化的函数中,业务功能函数的地址等保存在函数指针变量中。
任务调度框架代码
。。。
结语:
仅介绍任务调度框架,具体使用第三种的任务调度方式,参考郭天祥老师ARM32教程仅用于学习参考。