Ucos中文书(邵贝贝)实时操作系统内核

上传人:工**** 文档编号:441037 上传时间:2017-02-25 格式:DOC 页数:87 大小:365KB
返回 下载 相关 举报
Ucos中文书(邵贝贝)实时操作系统内核_第1页
第1页 / 共87页
Ucos中文书(邵贝贝)实时操作系统内核_第2页
第2页 / 共87页
Ucos中文书(邵贝贝)实时操作系统内核_第3页
第3页 / 共87页
Ucos中文书(邵贝贝)实时操作系统内核_第4页
第4页 / 共87页
Ucos中文书(邵贝贝)实时操作系统内核_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《Ucos中文书(邵贝贝)实时操作系统内核》由会员分享,可在线阅读,更多相关《Ucos中文书(邵贝贝)实时操作系统内核(87页珍藏版)》请在金锄头文库上搜索。

1、第 11 章参考手册本章提供了 C/用户指南。每一个用户可以调用的内核函数都按字母顺序加以说明,包括: 函数的功能描述 函数原型 函数名称及源代码 函数使用到的常量 函数参数 函数返回值 特殊说明和注意点264时操作系统内核参考手册 )所属文件 调用者 动代码 无初始化 C/,对这个函数的调用必须在调用 函数之前,而函数真正开始运行多任务。参数无返回值无注意/警告必须先于 函数的调用范例:. . ; /* 初始化 (); /*启动多任务内核 */266时操作系统内核)所属文件 调用者 断 无通知 C/个中断处理函数正在执行,这有助于 C/握中断嵌套的情况。)函数通常和 函数联合使用。参数无返回

2、值无注意/警告在任务级不能调用该函数。如果系统使用的处理器能够执行自动的独立执行读取入的操作,那么就可以直接递增中断嵌套层数(,这样可以避免调用函数所带来的额外的开销。范例一:(0实模式, 在大模式下编译, , ; 保存中断现场 ; 读入数据段 ; 通知内核进入中断. ; 恢复中断现场参考手册 ; 中断返回0实模式, 在大模式下编译,, ; 保存中断现场 ; 读入数据段 ; 通知内核进入中断. ; 恢复中断现场 ; 中断返回 时操作系统内核)所属文件 调用者 断 无通知 C/ 一个中断服务已执行完毕,这有助于 C/握中断嵌套的情况。通常 和 联合使用。当最后一层嵌套的中断执行完毕后,如果有更高

3、优先级的任务准备就绪,C/调用任务调度函数,在这种情况下,中断返回到更高优先级的任务而不是被中断了的任务。参数无返回值无注意/警告在任务级不能调用该函数。并且即使没有调用 而是使用直接递增 必须调用 函数。参考手册 0实模式, 在大模式下编译, ; 保存中断现场 通知内核进入中断 ; 恢复中断现场 ; 中断返回 时操作系统内核)所属文件 调用者 务或中断 函数查看指定的消息邮箱是否有需要的消息。不同于 函数,如果没有需要的消息,)函数并不挂起任务。如果消息已经到达,该消息被传递到用户任务并且从消息邮箱中清除。通常中断调用该函数,因为中断不允许挂起等待消息。参数指向需要查看的消息邮箱的指针。当建

4、立消息邮箱时,该指针返回到用户程序。 (参考 函数) 。返回值如果消息已经到达,返回指向该消息的指针;如果消息邮箱没有消息,返回空指针。注意/警告必须先建立消息邮箱,然后使用。参考手册 ;) /* 检查消息邮箱是否有消息 */= ()0) . /* 处理消息 */. . /*没有消息 */. .272时操作系统内核)所属文件 调用者 务或启动代码 建立并初始化一个消息邮箱。消息邮箱允许任务或中断向其他一个或几个任务发送消息。参数数用来初始化建立的消息邮箱。如果该指针不为空,建立的消息邮箱将含有消息。返回值指向分配给所建立的消息邮箱的事件控制块的指针。如果没有可用的事件控制块,返回空指针。注意/

5、警告必须先建立消息邮箱,然后使用。参考手册 .; /* 初始化C/*/. )0); /* 建立消息邮箱 */; /* 启动多任务内核 */274时操作系统内核) * ;所属文件 调用者 务 用于任务等待消息。消息通过中断或另外的任务发送给需要的任务。消息是一个以指针定义的变量,在不同的程序中消息的使用也可能不同。如果调用 函数时消息邮箱已经存在需要的消息,那么该消息被返回给 的调用者,消息邮箱中清除该消息。如果调用 函数时消息邮箱中没有需要的消息,函数挂起当前任务直到得到需要的消息或超出定义等待超时的时间。如果同时有多个任务等待同一个消息,C/认最高优先级的任务取得消息并且任务恢复执行。一个由

6、 函数挂起的任务也可以接受消息,但这个任务将一直保持挂起状态直到通过调用 函数恢复任务的运行。参数是指向即将接受消息的消息邮箱的指针。该指针的值在建立该消息邮箱时可以得到。(参考 函数) 。允许一个任务在经过了指定数目的时钟节拍后还没有得到需要的消息时恢复运行。如果该值为零表示任务将持续的等待消息。最大的等待时间为 65,535 个时钟节拍。这个时间长度并不是非常严格的,可能存在一个时钟节拍的误差,因为只有在一个时钟节拍结束后才会减少定义的等待超时时钟节拍。指向包含错误码的变量的指针。)函数返回的错误码可能为下述几种: 消息被正确的接受。 消息没有在指定的周期数内送到。 从中断调用该函数。虽然

7、规定了不允许从中断调用该函数,但C/然包含了检测这种情况的功能。 :是指向消息邮箱的指针。返回值函数返回接受的消息并将 *为 果没有在指定数目的时钟节拍内接受到需要的消息,函数返回空指针并且将 *置为意/警告必须先建立消息邮箱,然后使用。不允许从中断调用该函数。参考手册 * ;) . 10, &= . /* 消息正确的接受 */. . /* 在指定时间内没有接受到消息*/. .276时操作系统内核)*所属文件 调用者 务或中断 函数通过消息邮箱向任务发送消息。消息是一个指针长度的变量,在不同的程序中消息的使用也可能不同。如果消息邮箱中已经存在消息,返回错误码说明消息邮箱已满。函数立即返回调用者,消息也没有能够发到消息邮箱。如果有任何任务在等待消息邮箱的消息,最高优先级的任务将得到这个消息。如果等待消息的任务优先级比发送消息的任务优先级高,那么高优先级的任务将得到消息而恢复执行,也就是说,发生了一次任务切换。参数是指向即将接受消息的消息邮箱的指针。该指针的值在建立该消息邮箱时可以得到。(参考 函数) 。即将实际发送给任务的消息。消息是一个指针长度的变量,在不同的程序中消息的使用也可能不同。不允许传递一个空指针,因为这意味着消息邮箱为空。返回值函数的返回值为下述之一: 消息成功的放到消息邮箱中。 消息邮箱已经包含了其他消息,不空。 OS_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 嵌入式开发/单片机

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号