第一章 概述
第二章 目录与文件
第三章 初识ucos3
- 单任务应用程序
- 多任务应用程序
第四章 临界段代码
保护临界段代码有两种方式:
- 关中断
- 给调度器上锁
第五章 任务管理
系统内部任务
- 空闲任务OS_IdleTask()(必须创建)
- 时钟节拍任务OS_TickTask()(必须创建)
- 统计任务
- 定时任务
- 中断服务管理任务
第六章 任务就绪表
第七章 任务调度
第八章 任务切换
第九章 中断管理
宏定义 OS_CFG_ISR_POST_DEFERRED_EN
- 直接发布:宏定义为0,采用关闭中断的方式保护临界段代码
- 延迟发布:宏定义为1,采用给任务器上锁的方式保护临界段代码
第十章 任务挂起表
第十一章 时间管理
OSTimeDly()
OSTimeDlyHMSM()
OSTimeDlyResume()
OSTimeSet()和OSTimeGet()
OSTimeTick()
第十二章 定时器管理
宏定义 OS_CFG_TMR_EN
OSTmrCreate() //创建定时器
OSTmrStart() //开启定时器
单次定时器
周期定时器(无初始延迟)
周期定时器(有初始延迟)
定时器管理内部机制
第十三章 资源管理
开关中断
给调度器上锁
信号量
互斥型信号量
第十四章 任务同步
用途:用于任务或者中断和任务之间的同步。监测状态信息和瞬时事件。
- 信号量和任务信号量
OSSemCreate() //创建信号量
OSSemDel() //删除信号量
OSSemPost() //发布信号量
OSSemPend() //等待信号量
OSTaskSemPost() //发布任务信号量
OSTaskSemPend() //等待任务信号量
- 事件标志组
当任务需要与多个事件的发生同步时,可以使用事件标志组。- 与同步和或同步
等待多个事件时,任何一个事件发生,任务都被同步,或同步。
当所有事件都发生时,任务才被同步,与同步。
OSFlagCreate()
OSFlag
第十五章 消息传递
宏定义 OS_CFG_TASK_Q_EN
消息传递的两种方式:
- 全局变量
- 消息队列和任务内建消息队列
- 消息队列需要单独创建一个消息队列
OSQCreate()
OSQPost()
OSQPend()
- 任务内建消息队列无需单独创建消息队列
OSTaskQPost()
OSTaskQPend()
第十六章 同时等待多个内核对象
第十七章 存储管理
宏定义 OS_CFG_MEM_EN
OSMemCreate()
OSMemGet()
OSMemPut()