我接手一个任务,一个离职的同事写的程序,用到实时多任务,在这方面我不在行。
下面是一段程序:
/* 系统任务(一) */
OS_STK test1[100] = { 0 } ;
void test_task1(void *pdata)
{ pdata = pdata ;
unsigned char mark = 0 ;
system_Init() ; /* 系统初始化 */
UCOSIIsystem_InitTimer1(); /* 系统时钟节拍初始化 */
while(1)
{
mark = PowerSupply_System_Warning();
if(mark != 0) /* 电源报警挂起任务2 */
{
OSTaskSuspend(2) ;
}
else /* 电源报警解除恢复任务2 */
{
OSTaskResume(2) ;
}
OSTimeDly(1);
}
}
我略懂皮毛,定义了几个任务,按时间片轮流执行。可是我在这段程序内部设断点,老是执行不到。
其他几个任务也这样。请高手指教,这个现象正不正常?谢谢! |