原创 情人节菜农将发布启蒙版的HotTask51(警告:看帖者自戴墨镜)

2009-2-14 08:14 2733 2 2 分类: MCU/ 嵌入式
HotPower 发表于 2009-2-13 23:20 裸奔式实时操作系统HotTask51 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

楼主: 情人节菜农将发布启蒙版的HotTask51(警告:看帖者自戴墨镜)


20074141160854.jpg20074141160854.jpg20074141160854.jpg
先搞个协作式的HotTask51,太累了~~~

但愿能赶上“节日”,早点给情人们穿上“皇帝的嫁衣”~~~

也算是农民伯伯的一片心意~~~~

真后悔自己早生20年!!!!!!!!

苍天不公呀!!!

俺那时为何不知有此节日???实在是雷翻了俺~~~

20074141160854.jpg20074141160854.jpg20074141160854.jpg

//任务枚举参数
enum _HotTask_enum_
{
    HotTask_Idle  = 0,//HotTask51系统空闲任务,标准用户空闲任务
    HotTask_User0 = 0,//特殊扩展用户看门狗任务(在bPriority[7].0中)
    HotTask_User1 = 1,//最低1级标准用户
    HotTask_User2 = 2,//2级标准用户
    HotTask_User3 = 3,//3级标准用户
    HotTask_User4 = 4,//4级标准用户
    HotTask_User5 = 5,//5级标准用户
    HotTask_User6 = 6,//最高6级标准用户
    HotTask_User7 = 7,//特殊扩展用户空闲任务(在bPriority[0].7中)
    HotTask_Init  = 7,//用户任务装载即系统根任务,标准用户看门狗任务
    HotTask_Wdt   = 7,//HotTask51特有的软件看门狗任务
    HotTaskMaxCount = 8//最大任务个数
};

20074141160854.jpg20074141160854.jpg20074141160854.jpg

/*
    HotTask51系统接口说明
1. 数组bPriority[8]
   bPriority[0].0 系统空闲任务位 1~7位为扩展低级用户任务位
   bPriority[1~6].0~.7 标准用户任务可变级别位(1~6级可选)
   bPriority[7].7 系统看门狗和用户装载任务 0~6为扩展高级用户任务位

   故HotTask51拥有8+7+7=22个任务

   它分别用一个横向字节表示某任务,纵向某任务位得到信息
    它有2个作用
  a.同级任务优先的循环选择
    主要控制6个用户任务优先级的测试
  b.6个用户任务可否各自取代系统空闲任务及看门狗任务
    它主要是扩展HotTask51只有6个用户任务之缺点
*/
#define interface typedef struct//HotTask51系统接口
interface _HotTask_Struct_
{
    volatile unsigned int iHotTaskSystemStart;//0x55aa系统上电测试变量
//同级任务循环扫描号
    volatile unsigned char iPrioTest;//用于同级循环
//当前任务号
    volatile unsigned char iTaskTick;//节拍中断断点任务序号
//任务指针
    unsigned int  pPoint[HotTaskMaxCount];//系统标准定义任务函数入口
//任务级别    在HotTaskTick()中用于同级任务循环扫描
    unsigned char bPriority[HotTaskMaxCount];
//任务记录
    unsigned char bRecord[HotTaskMaxCount];
//任务锁
    unsigned char bHotTaskLock;
}HotTask_Struct;



20074141160854.jpg20074141160854.jpg20074141160854.jpg

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条