刚学UC/OS,有不懂的地方请教各位:<br />看书中写在OSStart()后要安装并启动UC/OS的时钟节拍,但我看书中实例怎么样没写??(红色部分没出现)<br />void main (void)<br />{<br /> PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK); /* Clear the screen */<br /><br /> OSInit(); /* Initialize uC/OS-II */<br /><br /> PC_DOSSaveReturn(); /* Save environment to return to DOS */<br /> PC_VectSet(uCOS, OSCtxSw); /* Install uC/OS-II's context switch vector */<br /><br /> RandomSem = OSSemCreate(1); /* Random number semaphore */<br /><br /> OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0);<br /> OSStart(); /* Start multitasking */<br />}<br />void TaskStart (void *pdata)<br />{<br />#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */<br /> OS_CPU_SR cpu_sr;<br />#endif<br /> char s[100];<br /> INT16S key;<br /><br /><br /> pdata = pdata; /* Prevent compiler warning */<br /><br /> <font color=#FF0040> TaskStartDispInit(); /* Initialize the display */<br /><br /> OS_ENTER_CRITICAL();<br /> PC_VectSet(0x08, OSTickISR); /* Install uC/OS-II's clock tick ISR */<br /> PC_SetTickRate(OS_TICKS_PER_SEC); /* Reprogram tick rate */<br /> OS_EXIT_CRITICAL();<br /><br /> OSStatInit(); </font> /* Initialize uC/OS-II's statistics */<br /><br /><font color=#1BFFFF> </font><font color=#0FFFFF><font color=#FF0040>TaskStartCreateTasks(); </font> </font> /* Create all the application tasks */<br /><br /> for (;;) {<br /> TaskStartDisp(); /* Update the display */<br /><br /><br /> if (PC_GetKey(&key) == TRUE) { /* See if key has been pressed */<br /> if (key == 0x1B) { /* Yes, see if it's the ESCAPE key */<br /> PC_DOSReturn(); /* Return to DOS */<br /> }<br /> }<br /><br /> OSCtxSwCtr = 0; /* Clear context switch counter */<br /> OSTimeDlyHMSM(0, 0, 1, 0); /* Wait one second */<br /> }<br />} |
|