ucos任务建立.docVIP

  • 19
  • 0
  • 约5.7千字
  • 约 6页
  • 2018-06-21 发布于河南
  • 举报
ucos任务建立

基于stemf103 uc/os系统应用程序的建立 一、UC/OS II多任务机制 UC/OS II是一种基于优先级的可剥夺型多任务内核。在单CPU的情况下,是不存在真正的多任务机制的,存在的只是不同的任务轮流使用CPU,所以本质还是单任务,但由于CPU执行速度非常之快,加上任务切换十分频繁,所以感觉好像有很多任务在同时运行,这就是所谓的多任务机制。 应用程序的基本结构 每个UC/OS-II应用程序至少有一个任务,每个任务都必须写成无限循环的形式,下面代码是UC/OS-II推荐的基本结构 void task(void *pdate) { INT8U err; InirTimer(); While(1) { ... //应用程序代码 OSTimeDly(1); //可选 } } 系统运行时,UC/OS-II会为每一个任务保留一个堆栈空间。系统在任务切换时要恢复上下文并执行一个返回指令,如果允许任务执行完并返回,那么很有可能会破坏系统的堆栈空间,从而给应用程序带来不确定性。也就是说程序跑飞了。所以没个任务都必须写成无限循环的形式。但任务循环,但不代表任务永远占有CPU的使用权,任务通过ISR或者操作系统API(如任务挂起),使任务放弃对CPU的使用权 几个比较重要的API函数 1 OSTaskCreate()函数 该函数应在main()函数内调用一次,在OS

文档评论(0)

1亿VIP精品文档

相关文档