UCOS_TI_LM3S_Keil
 全部 结构体 文件 函数 变量 类型定义 宏定义 
app.c 文件参考
#include <includes.h>
app.c 的引用(Include)关系图:

浏览源代码.

宏定义

#define APP_LCD_ROW0_Y   0x00u
 
#define APP_LCD_ROW0_5_Y   0x08u
 
#define APP_LCD_ROW1_Y   0x10u
 
#define APP_LCD_ROW1_5_Y   0x18u
 
#define APP_LCD_ROW2_Y   0x20u
 
#define APP_LCD_ROW2_5_Y   0x28u
 
#define APP_LCD_ROW3_Y   0x30u
 
#define APP_LCD_ROW3_5_Y   0x38u
 
#define APP_LCD_ROW4_Y   0x40u
 
#define APP_LCD_ROW4_5_Y   0x48u
 
#define APP_LCD_ROW5_Y   0x50u
 
#define APP_LCD_ROW5_5_Y   0x58u
 
#define APP_USER_IF_MAX   4u
 
#define APP_TASK_STOP()
 
#define APP_TEST_ERR(err_var, err_code)
 
#define APP_TEST_FAULT(err_var, err_code)
 

函数

static void App_TaskStart (void *p_arg)
 
static void App_TaskCreate (void)
 
static void App_EventCreate (void)
 
static void App_TaskKbd (void *p_arg)
 
static void App_TaskUserIF (void *p_arg)
 
static void App_DispScr_SignOn (void)
 
static void App_DispScr_VersionTickRateCPU (void)
 
static void App_DispScr_CtxSw (void)
 
static void App_DispScr_Inputs (void)
 
int main (void)
 

变量

static OS_STK App_TaskStartStk [APP_TASK_START_STK_SIZE]
 
static OS_STK App_TaskUserIFStk [APP_TASK_USER_IF_STK_SIZE]
 
static OS_STK App_TaskKbdStk [APP_TASK_KBD_STK_SIZE]
 
static OS_EVENTApp_UserIFMbox
 
static CPU_CHAR App_UserIFLine1 [30]
 
static CPU_CHAR App_UserIFLine2 [30]
 
static CPU_CHAR App_UserIFLine3 [30]
 
static CPU_CHAR App_UserIFLine4 [30]
 
static CPU_CHAR App_UserIFLine5 [30]
 
static CPU_CHAR App_UserIFLine6 [30]
 
static CPU_BOOLEAN App_B1
 
static CPU_BOOLEAN App_B2
 
static CPU_BOOLEAN App_B3
 
static CPU_BOOLEAN App_B4
 
static CPU_BOOLEAN App_B5
 
static CPU_INT32U App_B1Counts
 
static CPU_INT32U App_B2Counts
 
static CPU_INT32U App_B3Counts
 
static CPU_INT32U App_B4Counts
 
static CPU_INT32U App_B5Counts
 

宏定义说明

#define APP_LCD_ROW0_Y   0x00u

在文件 app.c43 行定义.

#define APP_LCD_ROW0_5_Y   0x08u
#define APP_LCD_ROW1_Y   0x10u

在文件 app.c45 行定义.

#define APP_LCD_ROW1_5_Y   0x18u

在文件 app.c46 行定义.

参考自 App_DispScr_SignOn().

#define APP_LCD_ROW2_Y   0x20u

在文件 app.c47 行定义.

参考自 App_DispScr_CtxSw(), App_DispScr_Inputs() , 以及 App_DispScr_VersionTickRateCPU().

#define APP_LCD_ROW2_5_Y   0x28u

在文件 app.c48 行定义.

#define APP_LCD_ROW3_Y   0x30u

在文件 app.c49 行定义.

参考自 App_DispScr_CtxSw(), App_DispScr_Inputs() , 以及 App_DispScr_VersionTickRateCPU().

#define APP_LCD_ROW3_5_Y   0x38u

在文件 app.c50 行定义.

参考自 App_DispScr_SignOn().

#define APP_LCD_ROW4_Y   0x40u

在文件 app.c51 行定义.

参考自 App_DispScr_CtxSw(), App_DispScr_Inputs() , 以及 App_DispScr_VersionTickRateCPU().

#define APP_LCD_ROW4_5_Y   0x48u

在文件 app.c52 行定义.

参考自 App_DispScr_SignOn().

#define APP_LCD_ROW5_Y   0x50u

在文件 app.c53 行定义.

参考自 App_DispScr_CtxSw(), App_DispScr_Inputs() , 以及 App_DispScr_VersionTickRateCPU().

#define APP_LCD_ROW5_5_Y   0x58u

在文件 app.c54 行定义.

#define APP_USER_IF_MAX   4u

在文件 app.c56 行定义.

参考自 App_TaskKbd().

#define APP_TASK_STOP ( )
值:
; { while (DEF_ON) { \
; \
} \
}

在文件 app.c96 行定义.

参考自 App_EventCreate().

#define APP_TEST_ERR (   err_var,
  err_code 
)
值:
{ if ((err_var) != (err_code)) { \
APP_TRACE_DBG((" %s() error #%05d @ line #%05d\n\r", __func__, (err_var), __LINE__)); \
} \
}

在文件 app.c102 行定义.

#define APP_TEST_FAULT (   err_var,
  err_code 
)
值:
{ APP_TEST_ERR(err_var, err_code); \
if ((err_var) != (err_code)) { \
APP_TASK_STOP(); \
} \
}

在文件 app.c107 行定义.

参考自 App_TaskCreate() , 以及 main().

函数说明

static void App_TaskStart ( void *  p_arg)
static

在文件 app.c209 行定义.

参考 App_EventCreate(), App_TaskCreate(), BSP_CPU_ClkFreq(), BSP_LED_Toggle(), BSP_SER_ID_UART0, BSP_SerInit(), DEF_TRUE, Math_Init(), Mem_Init(), OS_CPU_SysTickInit(), OS_TICKS_PER_SEC, OSStatInit() , 以及 OSTimeDly().

参考自 main().

210 {
211  CPU_INT32U cnts;
212 
213 
214  (void)p_arg; /* Prevent compiler warning. */
215 
216 
217  /* ------------------- INIT MODULES ------------------- */
219  OS_CPU_SysTickInit(cnts); /* Initialize the SysTick. */
220 
221  Mem_Init(); /* Initialize mem mgmt module. */
222  Math_Init(); /* Initialize math module. */
223 
224 #if (OS_TASK_STAT_EN > 0)
225  OSStatInit(); /* Determine CPU capacity. */
226 #endif
227 
228  BSP_SerInit(BSP_SER_ID_UART0, 115200u);
229 
230 
231 
232  /* --------------------- INIT APP --------------------- */
233  App_EventCreate(); /* Create application events. */
234  App_TaskCreate(); /* Create application tasks. */
235 
236 
237 
238  /* -------------------- START TASK -------------------- */
239  while (DEF_TRUE) { /* Task body, always written as an infinite loop. */
240  BSP_LED_Toggle(1);
242  }
243 }

函数调用图:

这是这个函数的调用关系图:

static void App_TaskCreate ( void  )
static

在文件 app.c297 行定义.

参考 APP_TASK_KBD_PRIO, APP_TASK_KBD_STK_SIZE, APP_TASK_USER_IF_PRIO, APP_TASK_USER_IF_STK_SIZE, App_TaskKbd(), App_TaskKbdStk, App_TaskUserIF(), App_TaskUserIFStk, APP_TEST_FAULT, OS_ERR_NONE, OS_TASK_OPT_STK_CHK, OS_TASK_OPT_STK_CLR, OSTaskCreateExt() , 以及 OSTaskNameSet().

参考自 App_TaskStart().

298 {
299  INT8U os_err;
300 
301 
302  /* ---------------- CREATE USER IF TASK --------------- */
303  os_err = OSTaskCreateExt((void (*)(void *)) App_TaskUserIF,
304  (void * ) 0,
307  (INT16U ) APP_TASK_USER_IF_PRIO,
308  (OS_STK * )&App_TaskUserIFStk[0],
310  (void * ) 0,
312 
313  APP_TEST_FAULT(os_err, OS_ERR_NONE);
314 
315 #if (OS_TASK_NAME_EN > 0)
316  OSTaskNameSet(APP_TASK_USER_IF_PRIO, (INT8U *)"User IF", &os_err);
317 #endif
318 
319 
320 
321  /* ------------------ CREATE KBD TASK ----------------- */
322  os_err = OSTaskCreateExt((void (*)(void *)) App_TaskKbd,
323  (void * ) 0,
326  (INT16U ) APP_TASK_KBD_PRIO,
327  (OS_STK * )&App_TaskKbdStk[0],
329  (void * ) 0,
331 
332  APP_TEST_FAULT(os_err, OS_ERR_NONE);
333 
334 #if (OS_TASK_NAME_EN > 0)
335  OSTaskNameSet(APP_TASK_KBD_PRIO, (INT8U *)"Kbd", &os_err);
336 #endif
337 }

函数调用图:

这是这个函数的调用关系图:

static void App_EventCreate ( void  )
static

在文件 app.c262 行定义.

参考 APP_TASK_STOP, OSEventNameSet() , 以及 OSMboxCreate().

参考自 App_TaskStart().

263 {
264 #if (OS_EVENT_NAME_EN > 0)
265  INT8U os_err;
266 #endif
267 
268 
269  App_UserIFMbox = OSMboxCreate((void *)0); /* Create MBOX for communication between Kbd and UserIF.*/
270 
271  if (App_UserIFMbox == (OS_EVENT *)0) {
272  APP_TASK_STOP();
273  }
274 
275 #if (OS_EVENT_NAME_EN > 0)
276  OSEventNameSet(App_UserIFMbox, "User IF Mbox", &os_err);
277 #endif
278 }

函数调用图:

这是这个函数的调用关系图:

static void App_TaskKbd ( void *  p_arg)
static

在文件 app.c355 行定义.

参考 App_B1, App_B1Counts, App_B2, App_B2Counts, App_B3, App_B3Counts, App_B4, App_B4Counts, App_B5, App_B5Counts, APP_USER_IF_MAX, BSP_PB_GetStatus(), DEF_FALSE, DEF_TRUE, OS_TICKS_PER_SEC, OSMboxPost() , 以及 OSTimeDly().

参考自 App_TaskCreate().

356 {
357  CPU_BOOLEAN b1_prev;
358  CPU_BOOLEAN b2_prev;
359  CPU_BOOLEAN b3_prev;
360  CPU_BOOLEAN b4_prev;
361  CPU_BOOLEAN b5_prev;
362  CPU_INT08U key;
363 
364 
365  (void)p_arg;
366 
367  key = 2u;
368 
369  b1_prev = DEF_FALSE;
370  b2_prev = DEF_FALSE;
371  b3_prev = DEF_FALSE;
372  b4_prev = DEF_FALSE;
373  b5_prev = DEF_FALSE;
374 
375  App_B1 = DEF_FALSE;
376  App_B2 = DEF_FALSE;
377  App_B3 = DEF_FALSE;
378  App_B4 = DEF_FALSE;
379  App_B5 = DEF_FALSE;
380 
381  while (DEF_TRUE) {
387 
388  if ((App_B1 == DEF_TRUE) && (b1_prev == DEF_FALSE)) {
389  App_B1Counts++;
390 
391  if (key == APP_USER_IF_MAX) {
392  key = 1;
393  } else {
394  key++;
395  }
396  OSMboxPost(App_UserIFMbox, (void *)key);
397  }
398 
399  if ((App_B2 == DEF_TRUE) && (b2_prev == DEF_FALSE)) {
400  App_B2Counts++;
401  }
402 
403  if ((App_B3 == DEF_TRUE) && (b3_prev == DEF_FALSE)) {
404  App_B3Counts++;
405  }
406 
407  if ((App_B4 == DEF_TRUE) && (b4_prev == DEF_FALSE)) {
408  App_B4Counts++;
409  }
410 
411  if ((App_B5 == DEF_TRUE) && (b5_prev == DEF_FALSE)) {
412  App_B5Counts++;
413  }
414 
415  b1_prev = App_B1;
416  b2_prev = App_B2;
417  b3_prev = App_B3;
418  b4_prev = App_B4;
419  b5_prev = App_B5;
421  }
422 }

函数调用图:

这是这个函数的调用关系图:

static void App_TaskUserIF ( void *  p_arg)
static

在文件 app.c441 行定义.

参考 App_DispScr_CtxSw(), App_DispScr_Inputs(), App_DispScr_SignOn(), App_DispScr_VersionTickRateCPU(), DEF_TRUE, OS_ERR_NONE, OS_TICKS_PER_SEC, OSMboxPend() , 以及 OSTimeDly().

参考自 App_TaskCreate().

442 {
443  CPU_INT08U *msg;
444  CPU_INT08U err;
445  CPU_INT32U nstate;
446  CPU_INT32U pstate;
447 
448 
449  (void)p_arg;
450 
453  pstate = 1;
454  nstate = 2;
455 
456 
457  while (DEF_TRUE) { /* Task body, always written as an infinite loop. */
458  msg = (CPU_INT08U *)(OSMboxPend(App_UserIFMbox, OS_TICKS_PER_SEC / 10, &err));
459  if (err == OS_ERR_NONE) {
460  nstate = (CPU_INT32U)msg;
461  }
462 
463  if (nstate != pstate) {
464  RIT128x96x4Clear();
465  pstate = nstate;
466  }
467 
468  switch (nstate) {
469  case 2:
471  break;
472 
473  case 3:
475  break;
476 
477  case 4:
479  break;
480 
481  case 1:
482  default:
484  break;
485  }
486  }
487 }

函数调用图:

这是这个函数的调用关系图:

static void App_DispScr_SignOn ( void  )
static

在文件 app.c506 行定义.

参考 APP_LCD_ROW0_5_Y, APP_LCD_ROW1_5_Y, APP_LCD_ROW3_5_Y, APP_LCD_ROW4_5_Y, App_UserIFLine1, App_UserIFLine2, App_UserIFLine3, App_UserIFLine4, App_UserIFLine5, App_UserIFLine6, DEF_TRUE , 以及 Str_Copy().

参考自 App_TaskUserIF().

507 {
508  static CPU_INT08U count = 0;
509 
510 
511  Str_Copy(App_UserIFLine1, " Micrium ");
512  Str_Copy(App_UserIFLine2, "uC/OS-II uC-Probe");
515  Str_Copy(App_UserIFLine5, "on the LuminaryMicro");
516  Str_Copy(App_UserIFLine6, " EK-LM3S1968 ");
517 
518  RIT128x96x4StringDraw((char *)App_UserIFLine1, 0, APP_LCD_ROW0_5_Y, 15);
519  if (count < 5) {
520  RIT128x96x4StringDraw("uC/OS-II", 0, APP_LCD_ROW1_5_Y, 15);
521  RIT128x96x4StringDraw("uC/Probe", 72, APP_LCD_ROW1_5_Y, 10);
522  } else if (count < 10) {
523  RIT128x96x4StringDraw("uC/OS-II", 0, APP_LCD_ROW1_5_Y, 10);
524  RIT128x96x4StringDraw("uC/Probe", 72, APP_LCD_ROW1_5_Y, 15);
525  }
526 
527  count++;
528 
529  if (count >= 10) {
530  count = 0;
531  }
532 
533  RIT128x96x4StringDraw((char *)App_UserIFLine5, 0, APP_LCD_ROW3_5_Y, 5);
534  RIT128x96x4StringDraw((char *)App_UserIFLine6, 0, APP_LCD_ROW4_5_Y, 5);
535  RIT128x96x4LineDraw(0, 0x00, 128, 15, DEF_TRUE);
536  RIT128x96x4LineDraw(0, 0x26, 128, 15, DEF_TRUE);
537 }

函数调用图:

这是这个函数的调用关系图:

static void App_DispScr_VersionTickRateCPU ( void  )
static

在文件 app.c539 行定义.

参考 APP_LCD_ROW0_5_Y, APP_LCD_ROW2_Y, APP_LCD_ROW3_Y, APP_LCD_ROW4_Y, APP_LCD_ROW5_Y, App_UserIFLine1, App_UserIFLine2, App_UserIFLine3, App_UserIFLine4, App_UserIFLine5, App_UserIFLine6, ASCII_CHAR_SPACE, DEF_FALSE, DEF_TRUE, OS_TICKS_PER_SEC, OSCPUUsage, OSVersion(), Str_Copy() , 以及 Str_FmtNbr_Int32U().

参考自 App_TaskUserIF().

540 {
541  CPU_INT32U value;
542 
543 
544  Str_Copy(App_UserIFLine1, " uC/OS-II ");
546 
547  Str_Copy(App_UserIFLine3, " uC/OS-II: Vx.yy ");
548  value = (CPU_INT32U)OSVersion();
549  App_UserIFLine3[14] = ((value % 1000) / 100) + '0';
550  App_UserIFLine3[16] = ((value % 100) / 10) + '0';
551  App_UserIFLine3[17] = ((value % 10) / 1) + '0';
552 
553  Str_Copy(App_UserIFLine4, " TickRate: xxxx Hz");
554  value = (CPU_INT32U)OS_TICKS_PER_SEC;
556 
557  Str_Copy(App_UserIFLine5, " CPU Usage: xxx % ");
558  value = (CPU_INT32U)OSCPUUsage;
559  App_UserIFLine5[13] = ((value % 1000) / 100) + '0';
560  App_UserIFLine5[14] = ((value % 100) / 10) + '0';
561  App_UserIFLine5[15] = ((value % 10) / 1) + '0';
562 
563  Str_Copy(App_UserIFLine6, " CPU Speed: xx MHz ");
564  value = (CPU_INT32U)SysCtlClockGet() / 1000000L;
565  App_UserIFLine6[13] = (value / 10) + '0';
566  App_UserIFLine6[14] = (value % 10) + '0';
567 
568  RIT128x96x4StringDraw((char *)App_UserIFLine1, 0, APP_LCD_ROW0_5_Y, 15);
569  RIT128x96x4StringDraw((char *)App_UserIFLine3, 0, APP_LCD_ROW2_Y, 5);
570  RIT128x96x4StringDraw((char *)App_UserIFLine4, 0, APP_LCD_ROW3_Y, 8);
571  RIT128x96x4StringDraw((char *)App_UserIFLine5, 0, APP_LCD_ROW4_Y, 5);
572  RIT128x96x4StringDraw((char *)App_UserIFLine6, 0, APP_LCD_ROW5_Y, 8);
573 
574  RIT128x96x4LineDraw(0, 0x00, 128, 15, DEF_TRUE);
575  RIT128x96x4LineDraw(0, 0x16, 128, 15, DEF_TRUE);
576 }

函数调用图:

这是这个函数的调用关系图:

static void App_DispScr_CtxSw ( void  )
static

在文件 app.c579 行定义.

参考 APP_LCD_ROW0_5_Y, APP_LCD_ROW2_Y, APP_LCD_ROW3_Y, APP_LCD_ROW4_Y, APP_LCD_ROW5_Y, App_UserIFLine1, App_UserIFLine2, App_UserIFLine3, App_UserIFLine4, App_UserIFLine5, App_UserIFLine6, ASCII_CHAR_SPACE, DEF_FALSE, DEF_TRUE, OSCtxSwCtr, OSTime, Str_Copy() , 以及 Str_FmtNbr_Int32U().

参考自 App_TaskUserIF().

580 {
581  CPU_INT32U value;
582 
583 
584  Str_Copy(App_UserIFLine1, " uC/OS-II ");
586 
587  Str_Copy(App_UserIFLine3, " Number of Ticks: ");
588 
589  Str_Copy(App_UserIFLine4, " xxxxxxxx ");
590  value = (CPU_INT32U)OSTime;
592 
593  Str_Copy(App_UserIFLine5, "Num. of Context Sw.:");
594 
595  Str_Copy(App_UserIFLine6, " xxxxxxxx ");
596  value = (CPU_INT32U)OSCtxSwCtr;
598 
599  RIT128x96x4StringDraw((char *)App_UserIFLine1, 0, APP_LCD_ROW0_5_Y, 15);
600  RIT128x96x4StringDraw((char *)App_UserIFLine3, 0, APP_LCD_ROW2_Y, 8);
601  RIT128x96x4StringDraw((char *)App_UserIFLine4, 0, APP_LCD_ROW3_Y, 5);
602  RIT128x96x4StringDraw((char *)App_UserIFLine5, 0, APP_LCD_ROW4_Y, 8);
603  RIT128x96x4StringDraw((char *)App_UserIFLine6, 0, APP_LCD_ROW5_Y, 5);
604 
605  RIT128x96x4LineDraw(0, 0x00, 128, 15, DEF_TRUE);
606  RIT128x96x4LineDraw(0, 0x16, 128, 15, DEF_TRUE);
607 }

函数调用图:

这是这个函数的调用关系图:

static void App_DispScr_Inputs ( void  )
static

在文件 app.c610 行定义.

参考 App_B1, App_B1Counts, App_B2, App_B2Counts, App_B3, App_B3Counts, App_B4, App_B4Counts, App_B5, App_B5Counts, APP_LCD_ROW0_5_Y, APP_LCD_ROW2_Y, APP_LCD_ROW3_Y, APP_LCD_ROW4_Y, APP_LCD_ROW5_Y, App_UserIFLine1, App_UserIFLine2, App_UserIFLine3, App_UserIFLine4, App_UserIFLine5, App_UserIFLine6, ASCII_CHAR_SPACE, DEF_FALSE, DEF_TRUE, Str_Copy() , 以及 Str_FmtNbr_Int32U().

参考自 App_TaskUserIF().

611 {
612  CPU_INT32U value;
613  CPU_CHAR str[4];
614 
615 
616  Str_Copy(App_UserIFLine1, " Board Inputs ");
618 
619  Str_Copy(App_UserIFLine3, " Button Status: ");
620 
621  Str_Copy(App_UserIFLine4, " xxx ");
622  value = (CPU_INT32U)App_B2Counts;
624 
625  Str_Copy(App_UserIFLine5, " yyy xxx zzz ");
626  value = (CPU_INT32U)App_B4Counts;
628  value = (CPU_INT32U)App_B1Counts;
630  value = (CPU_INT32U)App_B5Counts;
632 
633  Str_Copy(App_UserIFLine6, " xxx ");
634  value = (CPU_INT32U)App_B3Counts;
636 
637  RIT128x96x4StringDraw((char *)App_UserIFLine1, 0, APP_LCD_ROW0_5_Y, 15);
638  RIT128x96x4StringDraw((char *)App_UserIFLine3, 0, APP_LCD_ROW2_Y, 8);
639 
640  if (App_B2 == DEF_TRUE) {
641  RIT128x96x4StringDraw((char *)App_UserIFLine4, 0, APP_LCD_ROW3_Y, 8);
642  } else {
643  RIT128x96x4StringDraw((char *)App_UserIFLine4, 0, APP_LCD_ROW3_Y, 2);
644  }
645 
646  Str_Copy(str, " ");
647  value = (CPU_INT32U)App_B4Counts;
648  Str_FmtNbr_Int32U(value, 3, 10, ASCII_CHAR_SPACE, DEF_FALSE, DEF_FALSE, &str[0]);
649 
650  if (App_B4 == DEF_TRUE) {
651  RIT128x96x4StringDraw((char *)str, 6 * 3, APP_LCD_ROW4_Y, 8);
652  } else {
653  RIT128x96x4StringDraw((char *)str, 6 * 3, APP_LCD_ROW4_Y, 2);
654  }
655 
656  Str_Copy(str, " ");
657  value = (CPU_INT32U)App_B1Counts;
658  Str_FmtNbr_Int32U(value, 3, 10, ASCII_CHAR_SPACE, DEF_FALSE, DEF_FALSE, &str[0]);
659 
660  if (App_B1 == DEF_TRUE) {
661  RIT128x96x4StringDraw((char *)str, 6 * 9, APP_LCD_ROW4_Y, 8);
662  } else {
663  RIT128x96x4StringDraw((char *)str, 6 * 9, APP_LCD_ROW4_Y, 2);
664  }
665 
666  Str_Copy(str, " ");
667  value = (CPU_INT32U)App_B5Counts;
668  Str_FmtNbr_Int32U(value, 3, 10, ASCII_CHAR_SPACE, DEF_FALSE, DEF_FALSE, &str[0]);
669 
670  if (App_B5 == DEF_TRUE) {
671  RIT128x96x4StringDraw((char *)str, 6 * 15, APP_LCD_ROW4_Y, 8);
672  } else {
673  RIT128x96x4StringDraw((char *)str, 6 * 15, APP_LCD_ROW4_Y, 2);
674  }
675 
676  if (App_B3 == DEF_TRUE) {
677  RIT128x96x4StringDraw((char *)App_UserIFLine6, 0, APP_LCD_ROW5_Y, 8);
678  } else {
679  RIT128x96x4StringDraw((char *)App_UserIFLine6, 0, APP_LCD_ROW5_Y, 2);
680  }
681 
682  RIT128x96x4LineDraw(0, 0x00, 128, 15, DEF_TRUE);
683  RIT128x96x4LineDraw(0, 0x16, 128, 15, DEF_TRUE);
684 }

函数调用图:

这是这个函数的调用关系图:

int main ( void  )

在文件 app.c153 行定义.

参考 APP_TASK_START_PRIO, APP_TASK_START_STK_SIZE, App_TaskStart(), App_TaskStartStk, APP_TEST_FAULT, BSP_Init(), BSP_IntDisAll(), CPU_Init(), OS_ERR_NONE, OS_TASK_OPT_STK_CHK, OS_TASK_OPT_STK_CLR, OSInit(), OSStart(), OSTaskCreateExt() , 以及 OSTaskNameSet().

154 {
155  INT8U os_err;
156 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
157  CPU_ERR cpu_err;
158 #endif
159 
160 
161  BSP_IntDisAll(); /* Disable all ints until we are ready to accept them. */
162 
163  BSP_Init(); /* Initialize BSP. */
164  CPU_Init(); /* Initialize CPU. */
165 #if (CPU_CFG_NAME_EN == DEF_ENABLED)
166  CPU_NameSet("LM3S1968", &cpu_err);
167 #endif
168 
169  OSInit(); /* Initialize "uC/OS-II, The Real-Time Kernel". */
170 
171  os_err = OSTaskCreateExt((void (*)(void *)) App_TaskStart, /* Create the start task. */
172  (void * ) 0,
175  (INT16U ) APP_TASK_START_PRIO,
176  (OS_STK * )&App_TaskStartStk[0],
178  (void * )0,
180 
181  APP_TEST_FAULT(os_err, OS_ERR_NONE);
182 
183 #if (OS_TASK_NAME_EN > 0)
184  OSTaskNameSet(APP_TASK_START_PRIO, (INT8U *)"Start Task", &os_err);
185 #endif
186 
187  OSStart(); /* Start multitasking (i.e. give control to uC/OS-II). */
188 
189  return (0);
190 }

函数调用图:

变量说明

OS_STK App_TaskStartStk[APP_TASK_START_STK_SIZE]
static

在文件 app.c65 行定义.

参考自 main().

OS_STK App_TaskUserIFStk[APP_TASK_USER_IF_STK_SIZE]
static

在文件 app.c66 行定义.

参考自 App_TaskCreate().

OS_STK App_TaskKbdStk[APP_TASK_KBD_STK_SIZE]
static

在文件 app.c67 行定义.

参考自 App_TaskCreate().

OS_EVENT* App_UserIFMbox
static

在文件 app.c69 行定义.

CPU_CHAR App_UserIFLine1[30]
static
CPU_CHAR App_UserIFLine2[30]
static
CPU_CHAR App_UserIFLine3[30]
static
CPU_CHAR App_UserIFLine4[30]
static
CPU_CHAR App_UserIFLine5[30]
static
CPU_CHAR App_UserIFLine6[30]
static
CPU_BOOLEAN App_B1
static

在文件 app.c77 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().

CPU_BOOLEAN App_B2
static

在文件 app.c78 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().

CPU_BOOLEAN App_B3
static

在文件 app.c79 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().

CPU_BOOLEAN App_B4
static

在文件 app.c80 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().

CPU_BOOLEAN App_B5
static

在文件 app.c81 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().

CPU_INT32U App_B1Counts
static

在文件 app.c83 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().

CPU_INT32U App_B2Counts
static

在文件 app.c84 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().

CPU_INT32U App_B3Counts
static

在文件 app.c85 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().

CPU_INT32U App_B4Counts
static

在文件 app.c86 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().

CPU_INT32U App_B5Counts
static

在文件 app.c87 行定义.

参考自 App_DispScr_Inputs() , 以及 App_TaskKbd().