ucOS-II入门教程(任哲).pptVIP

  • 18
  • 0
  • 约 76页
  • 2016-12-21 发布于贵州
  • 举报
空事件控制块链表 在μC/OS-II初始化时,系统会在初始化函数OSInit( )中按应用程序使用事件的总数OS_MAX_EVENTS(在文件OS_CFG.H中定义),创建OS_MAX_EVENTS个空事件控制块并借用成员OSEventPtr作为链接指针,把这些空事件控制块链接成一个单向链表。由于链表中的所有控制块尚未与具体事件相关联,故该链表叫做空事件控制块链表。以后,每当应用程序创建一个事件时,系统就会从链表中取出一个空事件控制块,并对它进行初始化以描述该事件。而当应用程序删除一个事件时,就会将该事件的控制块归还给空事件控制块链表 信号量及其操作 在使用信号量之前,应用程序必须调用函数OSSemCreate( )来创建一个信号量,OSSemCreate( )的原型为: ? OS_EVENT *OSSemCreate ( INT16U cnt //信号量计数器初值 ); ? 函数的返回值为已创建的信号量的指针。 任务通过调用函数OSSemPend( )请求信号量,函数OSSemPend( )的原型如下: ? void OSSemPend ( OS_EVENT *pevent, //信号量的指针 INT16U timeout, //等待时限 INT8U *err); //错误信息 ? 参数pevent是被请求信号量的指针。 为防止任务因

文档评论(0)

1亿VIP精品文档

相关文档