- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UCOS API函数库
目录
一、任务管理OS_TASK.C(API) 1
1.1改变任务的优先级 2
1.2建立任务 3
1.3建立带扩展任务 4
1.4删除一个任务 5
1.5安全删除一个任务 6
1.6唤醒一个任务 7
1.7检查任务堆栈状态 7
1.8挂起一个任务 7
1.9获取任务信息 8
二、时钟管理OS_TIME.C(API) 9
2.1延时若干个时钟 9
2.2长延时 9
2.3唤醒延时程序 10
2.4获取当前系统时钟数值 10
2.5设置当前系统时钟数值 11
三、信号量 OS_SEM.C(API) 11
3.1请求一个信号量 11
3.2建立一个信号量 11
3.3删除一个信号量 12
3.4等待一个信号量 12
3.5发出一个信号量 13
3.6查询一个信号量的当前状态 13
一、任务管理OS_TASK.C(API)
改变一个任务的优先级
INT8U OSTaskChangePrio (INT8U oldprio, INT8U newprio)
调用:OSTaskChangePrio (5, 10); //把优先级为5的改为10
2、建立一个任务
INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio)
OSTaskCreate (MyTask,(void *)0, Task0Stk[Task0StkLengh - 1], 10);
MyTask指向的函数名,(void *)0就是指向空的意思
3 建立一个任务
INT8U OSTaskCreateExt (void (*task)(void *pd), //建立扩展任务(任务代码指针
void *pdata, //传递参数指针
OS_STK *ptos, //分配任务堆栈栈顶指针
INT8U prio, //分配任务优先级
INT16U id, //(未来的)优先级标识(与优先级相同)
OS_STK *pbos, //分配任务堆栈栈底指针
INT32U stk_size, //指定堆栈的容量(检验用)
void *pext, //指向用户附加的数据域的指针
INT16U opt) //建立任务设定选项)
4、删除任务(删除有占用共享资源任务会出错)
INT8U OSTaskDel (INT8U prio) //删除任务(任务的优先级)
5、删除任务(可靠删除任务并清理占用共享资源)
INT8U OSTaskDelReq (INT8U prio) //请求一个任务删除其它任务或自身?(任务的优先级)
6、唤醒任务
INT8U OSTaskResume (INT8U prio) //唤醒一个用OSTaskSuspend()函数挂起的任务(任务的优先级)
7、挂起任务
INT8U OSTaskSuspend (INT8U prio) //无条件挂起一个任务(任务优先级)
8、获取任务信息
INT8U OSTaskQuery (INT8U prio, OS_TCB *pdata) //获取任务信息(任务指针、保存数据结构指针)
9、检查任务堆栈状态,计算指定任务堆栈中的未用空间和已用空间(STACK CHECKING)
INT8U OSTaskStkChk (INT8U prio, OS_STK_DATA *pdata)
610 * 描述: 检查任务堆栈状态,计算指定任务堆栈中的未用空间和已用空间。使用OSTaskStkChk()函数要求所检查的任务是被OSTaskCreateExt()函数建立的,且opt参数中OS_TASK_OPT_STK_CHK操作项打开。
611 * 计算堆栈未用空间的方法是从堆栈底端向顶端逐个字节比较,检查堆栈中0的个数,直到一个非0的数值出现.这种方法的前提是堆栈建立时已经全部清零.要实现清零操作,需要在任务建立初始化
612 * 堆栈时设置OS_TASK_OPT_STK_CLR为1.如果应用程序在初始化时已经将全部RAM清零,且不进行任
* 任务删除操作,也可以设置OS_TASK_OPT_STK_CLR为0,这将加快OSTaskCreateExt()函数的执行速度。
1.1改变任务的优先级
/* **********************************************************************************
19 * 改变一个任务的优先级(CHANGE PRIORITY OF A TASK)
21 * 描述: 改变一个任务的优先级。
23 * 参数: oldp 是任务原先的优先级。
文档评论(0)