STM简单多任务调度.docVIP

  • 3
  • 0
  • 约 5页
  • 2015-08-07 发布于湖北
  • 举报
STM简单多任务调度.doc

STM32 简单多任务调度 ? STM32的开发目前大多数还开处于“裸奔”的阶段,处于开发成本的考虑,可能还未嵌入任何的RTOS系统,由于没有操作系统的支持,因而不能方便的对多任务进行调度和管理,在main函数中你可能会写成如下方式: [cpp]?view plaincopy int?main(void)?? {?? ????while?(1)?? ????{?? ????????Task1();?//?调用任务1?? ????????Task2();?//?调用任务2?? ????}?? }?? ?????? 但简单这样写的话会存在一个问题,假如任务1是一个很紧急的任务,如AD采样任务,需要不断的去执行,而任务2是一个不太紧急的任务,只要保证一段时间执行一次就行(如控制LED灯闪烁,只需要每1s钟闪烁一次),这样的话一是频繁的调用任务2占用了任务1执行的时间,二是任务2根本不需要这样频繁的执行,白白耗费了CPU的处理。因此可以考虑实现一个调度策略来解决这个问题。对于每个任务,我们可以定义这样一个结构: [cpp]?view plaincopy typedef?struct{?? ??????void?(*fTask)(void);?? ??????int64u?uNextTick;?? ??????int32u?uLenTick;?? }sTask;?

文档评论(0)

1亿VIP精品文档

相关文档