这是工程文件
void main()
{
u8 xdata st=0,i;
P_SW2|=0x80; //可以访问扩展的RAM
LED_Init();
Timer1_Init();
SPI_Init();
TM1638_Init();
PWM_Init();
UART1_Init();
ADC_Init();
SCH_Task_Init();
st=SCH_Task_Add(LED1,50,50,0,1);
UART1_SendByte(st);
st=SCH_Task_Add(Display_Update,30,30,0,1);
UART1_SendByte(st);
st=SCH_Task_Add(MAX31855_ReadTemper,25,25,0,1);
UART1_SendByte(st);
st=SCH_Task_Add(ADC_ReadVoltage2,30,30,0,1);
UART1_SendByte(st);
UART1_SendByte((u8)SCH_tasks_G[0].Ptask);
UART1_SendByte((u8)SCH_tasks_G[1].Ptask);
UART1_SendByte((u8)SCH_tasks_G[2].Ptask);
UART1_SendByte((u8)SCH_tasks_G[3].Ptask);
Timer1_Cmd(ENABLE);
while(1)
{
//SCH_Task_Dispatch();
for(i=0;i<4;i++)
{
if((SCH_tasks_G[i].RunMe ==1)&&(SCH_tasks_G[i].Co_op==0))
{
SCH_tasks_G[i].Ptask();
SCH_tasks_G[i].RunMe=0;
}
if(SCH_tasks_G[i].Period == 0) //如果是单次任务,则删除
{
SCH_tasks_G[i].Ptask =0;
}
}
}
}
封装成函数SCH_Task_Dispatch(),再调用运行失败,
直接写在main/while里面就能运行了!搞不懂 |