SmallRTOS特定系统用户函数参考手册.docVIP

  • 3
  • 0
  • 约1.63万字
  • 约 24页
  • 2015-08-07 发布于湖北
  • 举报
SmallRTOS特定系统用户函数参考手册.doc

OS_INT_ENTER() 名称:OS_INT_ENTER() 所属文件:Os_cpu.h 原型:宏 功能描述:OS_INT_ENTER()通知SMALLRTOS一个中断服务函数正在运行,这样RTOS可以跟踪中断嵌套情况,通常与OSIntExit()联合使用。 编译开关:EN_OS_INT_ENTER 调用者:中断 注意点:用户任务不能调用该函数。其实现与目标系统相关,移植时由用户实现。 ? OSClearSignal() 名称:OSClearSignal() 所属文件:Os_core.h 原型:void OSClearSignal(uint8 TaskID) 功能描述:OSClearSignal()无条件使任务休眠。如果它使当前任务休眠,则还需要调用OSSched(),才会切换到其他任务。 编译开关:无 调用者:内核函数 参数: TaskID 注意点:用户任务不能调用该函数. ? OSIntExit() 名称:OSIntExit() 所属文件:Os_core.h 原型:void OSIntExit(void) 功能描述:OSIntExit()通知RTOS一个中断服务函数已经执行完毕,这样RTOS可以跟踪中断嵌套情况。它通常与OS_INT_ENTER()联合使用。当最后一层嵌套的中断服务函数执行完毕后,如果有更高优先级的任务就绪,则RTOS就会调用任务调度函数。在这种情况下,中断返回到更高优先级的任务,而不是返回中断了的任务 编译开关:无 调用者:中断 调用模块:OSIntCtxSW 注意点:用户任务不能调用该函数,只要是受RTOS管理的中断服务函数,在其退出之前必须调用此函数 ? OSIntSendSignal() 名称:OSIntSendSignal() 所属文件:Os_q.h 原型:void OSintSendSignal(uint9 TaskId) 功能描述:OSIntSendSignal()无条件指使指定任务就绪。如果指定任务比当前任务优先级高,则在全部中断退出后或调用OSSched()后,开始执行高优先级任务。 编译开关:无 调用者:中断、内核函数 参数:TaskId:任务ID 注意点:用户任务一般不需要调用该函数。 例: void comm(void) interrupt 4 { ??OS_INT_ENTER(); ??if(RI==1) ??{ ????????RI = 0; ????????OSIntSendSignal(RECEIVE_TASK_ID); ???} ??if(TI==1) ???{ ????????TI=0; ????????OSIntSendSignal(1); ???} ??OSIntExit(); } ? OSQAccept() 名称:OSQAccept() 所属文件:Os_q.h 原型:uint8 OSQAccept(uint8 data * Ret, uint8 OS_Q_MEM_SEL *Buf) 功能描述:OSQAccept()函数检查消息队列中是否已经有需要的消息,他不同于OSQPend(),如果没有需要的消息,则OSQAccept()并不使任务休眠。如果任务已经到达,则该消息被传递到用户任务。通常中断调用该函数,因为中断不允许等待。 编译开关:EN_OS_Q_ACCEPT 调用者:用户任务 参数:Ret: 返回消息; ????????Buf:指向队列的指针 返回值:NOT_OK:参数错误 ???????? OS_Q_OK:收到消息 ???????? OS_Q_NOT_OK:无消息 注意点:必须先建立消息队列,然后再使用。 示例: void Task(void) { ????????uint8 data *Ret; ????????while(1) ????????{ ????????????????if(OSQAccept(CommQ) == OS_Q_OK)??//检查消息队列 ????????????????{ ????????????????????????.....//处理接收的消息 ????????????????} ????????????????else {????}//,没有消息 ??????} }????? ? OSQCreate() 名称:OSQCreate() 所属文件:Os_q.c 原型:uint8 OSQCreate(uint8 OS_Q_MEM_SEL *Buf, uint8 SizeOfBuf) 功能描述:OSQCreate()函数建立一个消息队列。任务或中断可以通过消息队列向其它一个或多个任务发送消息,消息是一个uint8整型数 ,在不同应用中有不同含义。 编译开关:无 调用者:用户任务 参数:B

文档评论(0)

1亿VIP精品文档

相关文档