CosyOS-II 最新版 V3.2.0-beta 发布!
新版特性:
一、新增服务
1、禁止调度
仅是禁止任务调度,不会关闭系统中断(SysTick、PendSV),仅支持在任务中调用。
禁止调度适用于在任务中,对大段的任务级公共资源和程序过程的保护。
支持嵌套功能(最大嵌套深度255),嵌套使用时,禁止调度与恢复调度必须配对使用。
禁止调度与任务临界区之间可随意互相嵌套,但仅推荐在禁止调度中嵌套任务临界区。
禁止调度:uForbidSchedule;
恢复调度:uResumeSchedule;
2、时间单位转换
把其它单位的时间转换为滴答周期。
毫秒转换为滴答周期,xTick_ms(ms);
秒钟转换为滴答周期,xTick_s(s);
分钟转换为滴答周期,xTick_m(m);
小时转换为滴答周期,xTick_h(h);
3、清除就绪延时
清除当前任务的就绪延时,前提是当前任务已在禁止调度中。
tClearDelay;
iClearDelay;
pClearDelay;
4、切换任务
尝试切换至某任务。
uSwitchTask(task);
iSwitchTask(task);
pSwitchTask(task);
5、禅让任务
自身任务主动禅让CPU使用权给其它相同优先级的任务。
多个相同优先级的任务,通过禅让的方式可实现合作式任务。
uYieldTasking;
二、删除服务
删除服务 uTaskSchedule、iTaskSchedule,取而代之的服务是 切换任务。
三、服务功能调整
自身任务延时,自身任务延时分为阻塞延时和就绪延时。
阻塞延时:在延时期间,任务会进入阻塞状态,把CPU使用权转让给其它任务。
就绪延时:在延时期间,任务会维持就绪状态,原地等待延时时间到达,不转让CPU使用权。
当在禁止调度中,自动选择为就绪延时,否则选择为阻塞延时。
不支持在临界区中(包括任务临界区和全局临界区)或关闭总中断时调用。
四、服务更名
1、飞信信箱的声明和创建;
2、消息队列的声明和创建;
3、更新全局变量副本;
五、新增文件 ur_eapi.h
ur_api.h:用户API定义,含注释说明,所有内核服务的API说明均在此文件中,并支持 doxygen。
ur_eapi.h:用户API的补充扩展定义,仅是定义无注释说明,所有内核服务的API说明均在 ur_api.h 中,并支持 doxygen。
doxygen 生成说明书:



六、软件RTC,增加 每半秒信号,方便实现 每半秒钟做一件事。
七、全新升级的任务管理器,更加美观大方。

稍后将会在顶楼发布新版 工程模板 和 用doxygen生成的API说明书。