云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > ucos复习资料

ucos复习资料

  • 62 次阅读
  • 3 次下载
  • 2025/5/6 17:24:27

void main (void)

{

OSInit(); /* 初始化uC/OS-II */

.

通过调用OSTaskCreate()或OSTaskCreateExt()创建至少一个任务;

.

OSStart(); /* 开始多任务调度!OSStart()永远不会返回 */

}

12. 描述建立任务OSTaskCreate()的函数原型。

答:

建立任务OSTaskCreate()的函数原型为:

INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio)

其中,

task: 任务代码的指针;

pdata: 当任务开始执行时传递给任务的参数的指针;

ptos: 分配给任务的堆栈的栈顶指针;

prio: 分配给任务的优先级。

13.任务可以是一个无限的循环,也可以是在一次执行完毕后被删除掉。

请给出示意代码结构。

答:?C/OS-Ⅱ描述的任务示意代码必须是以下两种结构之一:

void YourTask (void *pdata)

{

for (;;) {

/* 用户代码 */

调用?C/OS-Ⅱ的服务例程之一:

OSMboxPend();

OSQPend();

OSSemPend();

OSTaskDel(OS_PRIO_SELF);

OSTaskSuspend(OS_PRIO_SELF);

OSTimeDly();

OSTimeDlyHMSM();

/* 用户代码 */

}

}

void YourTask (void *pdata)

{

/* 用户代码 */

OSTaskDel(OS_PRIO_SELF);

}

14.μC/OS-Ⅱ任务管理提供哪些服务?

答:μC/OS-Ⅱ任务管理提供的服务包括:

(1)建立任务:OSTaskCreate()或OSTaskCreateExt();

(2)删除任务:OSTaskDel();

(3)请求删除任务:OSTaskDelReq();

(4)改变任务的优先级:OSTaskChangePrio();

(5)挂起任务:OSTaskSuspend();

(6)恢复任务:OSTaskResume();

(7)获得有关任务的信息:OSTaskQuery()。

15.μC/OS-Ⅱ时间任务管理提供哪些服务?

答:μC/OS-Ⅱ时间任务管理提供的服务包括:

(1) 任务延时函数:OSTimeDly()

(2) 按时分秒延时函数:OSTimeDlyHMSM()

(3) 让处在延时期的任务结束延时:OSTimeDlyResume()

(4) 设置系统时间:OSTimeGet()

(5) 获得系统时间:OSTimeSet()

16. μC/OS-Ⅱ提供的数据共享和任务通讯的方法包括哪些?

答:μC/OS-Ⅱ提供的数据共享和任务通讯的方法包括五种方法:

(1) 利用宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()来关闭中断和打开中断。

(2) 利用函数OSSchedLock()和OSSchekUnlock()对?C/OS-II中的任务调度函数上锁和开锁。

(3) 信号量。

(4) 邮箱。

(5) 消息队列。

17.对于事件控制块进行的一些通用包括哪些操作?

答:对于事件控制块进行的一些通用操作包括:

(1) 初始化一个事件控制块: OSEventWaitListInit();

(2) 使一个任务进入就绪态:OSEventTaskRdy();

(3) 使一个任务进入等待该事件的状态:OSEventTaskWait();

(4) 因为等待超时而使一个任务进入就绪态:OSEventTO()。

18.μC/OS-Ⅱ信号量提供哪些服务?

答:μC/OS-Ⅱ信号量提供的服务包括:

(1) 建立一个信号量:OSSemCreate();

(2) 等待一个信号量:OSSemPend();

(3)发送一个信号量:OSSemPost();

(4)无等待地请求一个信号量:OSSemAccept();

(5)查询一个信号量的当前状态:OSSemQuery()。

19.μC/OS-Ⅱ邮箱提供哪些服务?

答:μC/OS-Ⅱ邮箱提供的服务包括:

(1)建立一个邮箱:OSMboxCreate();

(2)等待一个邮箱中的消息:OSMboxPend();

(3)发送一个消息到邮箱中:OSMboxPost();

(4)无等待地从邮箱中得到一个消息:OSMboxAccept();

(5)查询一个邮箱的状态:OSMboxQuery()

20.μC/OS-Ⅱ消息队列提供哪些服务?

答:μC/OS-Ⅱ消息队列提供的服务包括:

(1)建立一个消息队列:OSQCreate();

(2)等待一个消息队列中的消息:OSQPend();

(3)向消息队列发送一个消息(FIFO):OSQPost();

(4)向消息队列发送一个消息(LIFO):OSQPostFront();

(5)无等待地从一个消息队列中取得消息:OSQAccept();

(6)清空一个消息队列:OSQFlush();

(7)查询一个消息队列的状态:OSQQuery()。

21.μC/OS-Ⅱ内存管理提供哪些服务?

答:μC/OS-Ⅱ内存管理提供的服务包括:

(1) 建立一个内存分区:OSMemCreate();

搜索更多关于: ucos复习资料 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

void main (void) { OSInit(); /* 初始化uC/OS-II */ . 通过调用OSTaskCreate()或OSTaskCreateExt()创建至少一个任务; . OSStart(); /* 开始多任务调度!OSStart()永远不会返回 */ } 12. 描述建立任务OSTaskCreate()的函数原型。 答: 建立任务OSTaskCreate()的函数原型为: INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio) 其中, task: 任务代码的指针;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com