1.移植流程
- 建议将需要的CONF_TNY.A51文件拷贝到工程目录下,并将其加入工程中,然后再配置CONF_TNY.A51,否则可能会影响下一个用到此库的工程。
路径:Keil4/C51/RTX_Tiny2/SourseCode - 要包含头文件#include<rtx51tny.h> 。(已集成在Keil C51中)
- Keil设置:魔术棒中operating system中选择TRX-51 Tiny;
在Debug中load application at startup、limit speed toReal-Time前打勾,调试时,在debug 菜单中选择OS Support调出任务查看窗。 - 不用建立main函数,Task 0是程序中首先要执行的函数。
- 中断必须有效(EA=1),任务中如果要禁止中断时一定要小心。
- 任务函数必须是从不退出或返回的,最多可以设置16个任务。
- 系统用定时器0产生周期性的中断(定时滴答Timer Tick),库函数中的超时和时间间隔都是基于定时滴答来测量的,默认10000个机器周期产生一个中断,12M对应10ms,定时滴答间隔可以在CONF_TNY.A51配置文件中修改。
- 它采用无优先级时间片轮询法,每个任务使用相同大小的时间片,每个任务执行的时间片由CONF_TNY.A51中TIMESHARING(默认为5)决定,因此为50ms左右。
2.函数原型及说明
(os开头的可以由任务调用,isr开头的只能由中断函数调用,如外部中断等)