//版权声明:
// 本代码为开源代码,作者拥有代码版权,但你可以在任何非商业用途程序中引用,但请标注出处,你
// 也可以对代码进行更改。作者对代码中所包括的错误以及所造成的一切后果将不负任何责任。如果你发
// 现代码中有任何问题或错误,请与我联系。
// 联系方法:QQ 2367051920,Email:nvwa-xt@qq.com
// -----作者:朱晓辉 2013年11月11日
//==========================================
//---------------初始化----------
//==========================================
//函名 : 初始化变量
//传入参数: 无
//返回值 : 无
//==========================================
无返回值 系统变量_初始化(无参数)
{
整数8 i , j ;
//------初始化变量,
系统管理块.运行号=0; //运行号码;
系统管理块.新运行号=0; //新运行号;
系统管理块.时间片=0; //时间片
系统管理块.中断嵌套=0; //中断嵌套;
系统管理块.调度锁=0; //调度锁
系统管理块.系统运行标志=系统停止 ; //系统运行标志;
系统管理块.系统状态=停止模式;
//------初始化运行队列,
循环(i=0;i<任务总数;i++)
{
运行表[i]=0;
优先_运行表[i]=0;
}
//------初始化任务栈区,
循环(i=0 ; i < 任务总数; i++ )
{
循环(j=0 ; j < 任务栈_长度; j++ )
{
任务栈[i][j] = 0;
}
}
}
//==========================================
//函名 : 初始化任务控制块
//传入参数: 无
//返回值 : 无
//==========================================
无返回值 系统任务块_初始化( 整数8 任务号 )
{
#如果 任务调度_形式 == 0
系统任务块[任务号].任务栈顶=任务栈[任务号]; //任务栈顶 取得栈区的首地址 ;
系统任务块[任务号].任务栈顶 += 10; // 任务栈顶 取得栈顶的地址;
#如果结束
#如果 任务调度_形式 == 1
系统任务块[任务号].任务栈顶 += 11; //
#如果结束
系统任务块[任务号].任务状态=运行; //状态寄存器;
系统任务块[任务号].任务挂起前状态=0; //状态储存器;
系统任务块[任务号].任务延时=0; //延时器;
系统任务块[任务号].任务类型 = 普通任务;
}
//==========================================
//函名 : 建立系统任务
//传入参数: 无
//返回值 : 无
//==========================================
无返回值 系统任务_建立(无参数)
{
//第一步:
// 任务函数的入口地址存入任务栈区中;
任务栈[0][1] = (整数16)任务_0 ; // 任务 0 的入口地址压入任务栈区中;
任务栈[0][2] = (整数16)任务_0 >> 8;
//-----------------------------------------------------------------------------------------------
任务栈[1][1] = (整数16)任务_1 ; // 任务 1 的入口地址压入任务栈区中;
任务栈[1][2] = (整数16)任务_1 >> 8;
//第二步 :
// 任务控制块初始化;
系统任务块_初始化(0);
系统任务块_初始化(1);
//第三步:
// 启动任务就绪登记 ;
运行表[0] = 1 ;
}
//==========================================
//函名 : 系统总初始化
//传入参数: 无
//返回值 : 无
//==========================================
无返回值 系统总初始化(无参数)
{
//--系统变量初始化
系统变量_初始化();
//--创建任务
系统任务_建立();
}
//==========================================
//函名 : 系统空闲任务
//传入参数: 无
//返回值 : 无
//==========================================
无返回值 任务_0()
{
当(1)
{
}
}
//=======================================
//--------结束---------
//=======================================