- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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)