uC-OS-III 3.05 实时内核API参考手册
需积分: 9 149 浏览量
更新于2024-07-05
收藏 795KB PDF 举报
"µC-OS-III 3.05 API Reference.pdf"
µC/OS-III是Jean J. Labrosse开发的一款实时操作系统(RTOS),特别设计用于微控制器环境。这个API参考手册详细介绍了µC/OS-III 3.05版本的各种功能和接口,帮助开发者理解和使用该操作系统。
1. **事件标志(Event Flags)**
- **OSFlagCreate**: 创建一个新的事件标志组,允许线程通过设置或清除标志来同步。
- **OSFlagDel**: 删除一个已经创建的事件标志组,释放相关的内存资源。
- **OSFlagPend**: 使当前线程等待直到至少有一个指定的标志被设置。
- **OSFlagPendAbort**: 中止一个线程对事件标志的等待操作。
- **OSFlagPendGetFlagsRdy**: 获取并清除已准备好的事件标志。
- **OSFlagPost**: 设置事件标志,可能唤醒等待该标志的线程。
2. **互斥量(Mutual Exclusion Semaphores)**
- **OSMutexCreate**: 创建一个互斥量,用于保护共享资源的访问。
- **OSMutexDel**: 删除不再使用的互斥量。
- **OSMutexPend**: 使线程等待获取互斥量的控制权。
- **OSMutexPendAbort**: 中止线程对互斥量的等待。
- **OSMutexPost**: 释放互斥量,允许其他等待的线程继续执行。
3. **时间管理(Time Management)**
- **OSTimeDly**: 按照ticks延迟线程的执行。
- **OSTimeDlyHMSM**: 延迟线程,可以指定小时、分钟、秒和毫秒。
- **OSTimeDlyResume**: 继续之前被延时的线程。
- **OSTimeGet**: 获取系统当前的ticks时间。
- **OSTimeSet**: 设置系统的时间(ticks)。
- **OSTimeTick**: 定义了RTOS的时间滴答处理函数。
- **OSTimeTickHook**: 时间滴答钩子函数,可以在每个时间滴答发生时执行用户定义的代码。
- **OSTimeDynTick**: 动态时间滴答管理,用于优化定时器性能。
4. **线程本地存储(Thread Local Storage, TLS)**
- **OS_TLS_GetID**: 获取线程的TLS ID,用于识别线程的特定存储区域。
- **OS_TLS_GetValue**: 从线程的TLS区域中获取值。
- **OS_TLS_SetDestruct**: 设置TLS区域的清理函数,在线程结束时自动调用。
- **OS_TLS_SetValue**: 在线程的TLS区域中设置值。
5. **消息队列(Message Queues)**
- **OSQCreate**: 创建一个新的消息队列,用于线程间的异步通信。
- **OSQDel**: 删除一个消息队列。
- **OSQFlush**: 清空消息队列中的所有消息。
- **OSQPend**: 使线程等待接收到消息队列中的消息。
- **OSQPendAbort**: 中止线程对消息队列的等待。
- **OSQPost**: 将消息发送到消息队列,可能唤醒等待的接收线程。
6. **信号量(Semaphores)**
- **OSSemCreate**: 创建一个信号量,用于线程同步和资源计数。
- **OSSemDel**: 删除不再使用的信号量。
- **OSSemPend**: 使线程等待获取信号量。
- **OSSemPendAbort**: 中止线程对信号量的等待。
- **OSSemPost**: 增加信号量计数值,可能唤醒等待的线程。
- **OSSemSet**: 直接设置信号量的计数值。
7. **计时器(Timers)**
- 计时器API允许创建周期性和一次性计时器,用于实现各种定时任务,这部分未在摘要中详细列出。
这些API构成了µC/OS-III的核心功能,使得开发者能够创建高效、实时的嵌入式应用程序。通过熟练掌握这些接口,开发者可以更好地控制和管理系统的并发行为、资源分配以及时间敏感的任务调度。
2020-03-25 上传
2022-03-12 上传
2017-10-27 上传
2017-09-25 上传
2018-07-21 上传
2020-03-25 上传
2019-08-30 上传
2021-12-09 上传
2021-09-28 上传
嵌入式_ckf
- 粉丝: 72
- 资源: 9
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍