|
这是我写的代码
void task1_Fxn(UArg a0, UArg a1)
{
ti_sysbios_knl_Task_Handle Task111Handle;
while(1)
{
PIN_setOutputValue(PINHandle,PIN_ID(25),1);//LED 1
CPUdelay(5000000);
//Task_sleep(500/ Clock_tickPeriod);
Task_setPri(Task111Handle,0);
}
}
void task2_Fxn(UArg a0, UArg a1)
{
ti_sysbios_knl_Task_Handle Task111Handle;
while(1)
{
PIN_setOutputValue(PINHandle, PIN_ID(25),0); //LED 0
CPUdelay(5000000);
Task_setPri(Task111Handle,2);
}
}
/*====================================================================
函数名:主函数
传入参数:NONE
传出参数:NONE
=====================================================================*/
//const char echoPrompt[] = "\fEchoing characters:\r\n";
int main(void)
{
PIN_init(ledPinTable); //Gpio_ini
// UART_init(); //USart ini
Task_Params_init(&taskParams1); //预定义任务配置信息
taskParams1.stack = myTaskStack1; //初始化堆空间首地址
taskParams1.stackSize = sizeof(myTaskStack1); //初始化堆空间大小
taskParams1.priority=2; //任务优先级 0
taskParams1.instance->name = "task1_Fxn";
//taskParams1.arg0 = (UInt)1000000;
//Task_construct(&myTask1, task1_Fxn, &taskParams1, NULL);
Task_create(task1_Fxn,&taskParams1, NULL);
Task_Params_init(&taskParams2); //预定义任务配置信息
taskParams2.stack = myTaskStack2; //初始化堆空间首地址
taskParams2.stackSize = sizeof(myTaskStack2); //初始化堆空间大小
taskParams2.priority=1; //任务优先级 0
taskParams2.instance->name = "task2_Fxn";
//taskParams2.arg0 = (UInt)1000000;
//Task_construct(&myTask2, task2_Fxn, &taskParams2, NULL);
Task_create(task2_Fxn,&taskParams2, NULL);
BIOS_start();
}
编译过没有错误,该定义的都定义过了,请教大神们,如何实现任务切换,不胜感激! |
|