亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? app.c

?? S3C44B0x移植uCOS源碼.很好的移植資料
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*********************************************************************************************************
*                                               uC/OS-II
*                                         The Real-Time Kernel
*
*                             (c) Copyright 1998-2004, Micrium, Weston, FL
*                                          All Rights Reserved
*
*
*                                            ARM Sample code
*
* File : APP.C
* By   : Jean J. Labrosse
*********************************************************************************************************
*/

#include <includes.h>

/*
*********************************************************************************************************
*                                                CONSTANTS
*********************************************************************************************************
*/

#define  TASK_STK_SIZE    128

#define  TASK_START_PRIO    5

#define  TASK_1_PRIO       10
#define  TASK_2_PRIO       12
#define  TASK_3_PRIO       14
#define  TASK_4_PRIO       16
#define  TASK_5_PRIO       18
#define  TASK_6_PRIO       20
#define  TASK_7_PRIO       22
#define  TASK_8_PRIO       24
#define  TASK_9_PRIO       26
#define  TASK_A_PRIO       28
#define  TASK_B_PRIO       30
#define  TASK_C_PRIO       32
#define  TASK_D_PRIO       34
#define  TASK_E_PRIO       36
#define  TASK_F_PRIO       38

#define  MUTEX_PIP_1        8
#define  MUTEX_PIP_2        9

#define  EVENT_Q_1_SIZE    10
#define  EVENT_Q_2_SIZE    20

#define  MEM_BLKS_1        10
#define  MEM_BLK_SIZE_1     8
#define  MEM_BLKS_2         8
#define  MEM_BLK_SIZE_2    12

/*
*********************************************************************************************************
*                                                VARIABLES
*********************************************************************************************************
*/

OS_STK        AppStartTaskStk[TASK_STK_SIZE];
OS_STK        AppTask1Stk[TASK_STK_SIZE];
OS_STK        AppTask2Stk[TASK_STK_SIZE];
OS_STK        AppTask3Stk[TASK_STK_SIZE];
OS_STK        AppTask4Stk[TASK_STK_SIZE];
OS_STK        AppTask5Stk[TASK_STK_SIZE];
OS_STK        AppTask6Stk[TASK_STK_SIZE];
OS_STK        AppTask7Stk[TASK_STK_SIZE];
OS_STK        AppTask8Stk[TASK_STK_SIZE];
OS_STK        AppTask9Stk[TASK_STK_SIZE];
OS_STK        AppTaskAStk[TASK_STK_SIZE];
OS_STK        AppTaskBStk[TASK_STK_SIZE];
OS_STK        AppTaskCStk[TASK_STK_SIZE];
OS_STK        AppTaskDStk[TASK_STK_SIZE];
OS_STK        AppTaskEStk[TASK_STK_SIZE];
OS_STK        AppTaskFStk[TASK_STK_SIZE];

INT16U        AppTask1Ctr;
INT16U        AppTask2Ctr;
INT16U        AppTask3Ctr;
INT16U        AppTask4Ctr;
INT16U        AppTask5Ctr;
INT16U        AppTask6Ctr;
INT16U        AppTask7Ctr;
INT16U        AppTask8Ctr;
INT16U        AppTask9Ctr;
INT16U        AppTaskACtr;
INT16U        AppTaskBCtr;
INT16U        AppTaskCCtr;
INT16U        AppTaskDCtr;
INT16U        AppTaskECtr;
INT16U        AppTaskFCtr;

#if OS_SEM_EN > 0
OS_EVENT     *EventSem1;
OS_EVENT     *EventSem2;
#endif

#if OS_MBOX_EN > 0
OS_EVENT     *EventMbox1;
OS_EVENT     *EventMbox2;
#endif

#if OS_Q_EN > 0
OS_EVENT     *EventQ1;
OS_EVENT     *EventQ2;

void         *EventQTbl1[EVENT_Q_1_SIZE];
void         *EventQTbl2[EVENT_Q_2_SIZE];
#endif

#if OS_MUTEX_EN > 0
OS_EVENT     *EventMutex1;
OS_EVENT     *EventMutex2;
#endif

#if OS_FLAG_EN > 0
OS_FLAG_GRP  *FlagGrp1;
OS_FLAG_GRP  *FlagGrp2;
#endif

#if OS_MEM_EN > 0
OS_MEM       *MemPart1;
OS_MEM       *MemPart2;

INT32U        MemPart1Tbl[MEM_BLKS_1][MEM_BLK_SIZE_1/sizeof(INT32U)];
INT32U        MemPart2Tbl[MEM_BLKS_2][MEM_BLK_SIZE_2/sizeof(INT32U)];
#endif

/*
*********************************************************************************************************
*                                            FUNCTION PROTOTYPES
*********************************************************************************************************
*/

static  void  AppStartTask(void *p_arg);
static  void  AppTaskCreate(void);
static  void  AppEventCreate(void);
static  void  AppTask1(void *p_arg);
static  void  AppTask2(void *p_arg);
static  void  AppTask3(void *p_arg);
static  void  AppTask4(void *p_arg);
static  void  AppTask5(void *p_arg);
static  void  AppTask6(void *p_arg);
static  void  AppTask7(void *p_arg);
static  void  AppTask8(void *p_arg);
static  void  AppTask9(void *p_arg);
static  void  AppTaskA(void *p_arg);
static  void  AppTaskB(void *p_arg);
static  void  AppTaskC(void *p_arg);
static  void  AppTaskD(void *p_arg);
static  void  AppTaskE(void *p_arg);
static  void  AppTaskF(void *p_arg);

/*
*********************************************************************************************************
*                                                main()
*
* Description : This is the standard entry point for C code.  It is assumed that your code will call
*               main() once you have performed all necessary 68HC12 and C initialization.
* Arguments   : none
*********************************************************************************************************
*/

void  main (void)
{
    INT8U  err;


    OSInit();                               /* Initialize "uC/OS-II, The Real-Time Kernel"             */

    OSTaskCreateExt(AppStartTask, 
                    (void *)0, 
                    (OS_STK *)&AppStartTaskStk[TASK_STK_SIZE-1], 
                    TASK_START_PRIO, 
                    TASK_START_PRIO,
                    (OS_STK *)&AppStartTaskStk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

#if OS_TASK_NAME_SIZE > 11                    
    OSTaskNameSet(TASK_START_PRIO, "Start Task", &err);
#endif

#if OS_TASK_NAME_SIZE > 14                    
    OSTaskNameSet(OS_IDLE_PRIO, "uC/OS-II Idle", &err);
#endif

#if (OS_TASK_NAME_SIZE > 14) && (OS_TASK_STAT_EN > 0)                    
    OSTaskNameSet(OS_STAT_PRIO, "uC/OS-II Stat", &err);
#endif

    OSStart();                              /* Start multitasking (i.e. give control to uC/OS-II)      */
}
/*$PAGE*/
/*
*********************************************************************************************************
*                                          STARTUP TASK
*
* Description : This is an example of a startup task.  As mentioned in the book's text, you MUST
*               initialize the ticker only once multitasking has started.
* Arguments   : p_arg   is the argument passed to 'AppStartTask()' by 'OSTaskCreate()'.
* Notes       : 1) The first line of code is used to prevent a compiler warning because 'p_arg' is not
*                  used.  The compiler should not generate any code for this statement.
*               2) Interrupts are enabled once the task start because the I-bit of the CCR register was
*                  set to 0 by 'OSTaskCreate()'.
*********************************************************************************************************
*/

static  void  AppStartTask (void *p_arg)
{
    p_arg = p_arg;

    BSP_Init();                             /* Initialize BSP functions                                */

#if OS_TASK_STAT_EN > 0
    OSStatInit();                           /* Determine CPU capacity                                  */
#endif

    AppEventCreate();                       /* Create the application's kernel objects                 */
    AppTaskCreate();                        /* Create the other application tasks                      */

    LED_Off(0);                             /* Turn OFF all the LEDs                                   */
    while (TRUE) {                          /* Task body, always written as an infinite loop.          */
        LED_On(1);
        OSTimeDlyHMSM(0, 0, 0, 100);
        LED_Off(1);
        OSTimeDlyHMSM(0, 0, 0, 100);
    }
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                     CREATE APPLICATION TASKS
*
* Description : none
* Arguments   : none
* Notes       : none
*********************************************************************************************************
*/
static  void  AppTaskCreate (void)
{
    INT8U  err;


    OSTaskCreateExt(AppTask1, 
                    (void *)0, 
                    (OS_STK *)&AppTask1Stk[TASK_STK_SIZE-1], 
                    TASK_1_PRIO,
                    TASK_1_PRIO,
                    (OS_STK *)&AppTask1Stk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_1_PRIO, "Serial #1", &err);

    OSTaskCreateExt(AppTask2, 
                    (void *)0, 
                    (OS_STK *)&AppTask2Stk[TASK_STK_SIZE-1], 
                    TASK_2_PRIO,
                    TASK_2_PRIO,
                    (OS_STK *)&AppTask2Stk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_2_PRIO, "Serial #2", &err);

    OSTaskCreateExt(AppTask3, 
                    (void *)0, 
                    (OS_STK *)&AppTask3Stk[TASK_STK_SIZE-1], 
                    TASK_3_PRIO,
                    TASK_3_PRIO,
                    (OS_STK *)&AppTask3Stk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_3_PRIO, "Display", &err);

    OSTaskCreateExt(AppTask4, 
                    (void *)0, 
                    (OS_STK *)&AppTask4Stk[TASK_STK_SIZE-1], 
                    TASK_4_PRIO,
                    TASK_4_PRIO,
                    (OS_STK *)&AppTask4Stk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_4_PRIO, "PID Control", &err);

    OSTaskCreateExt(AppTask5, 
                    (void *)0, 
                    (OS_STK *)&AppTask5Stk[TASK_STK_SIZE-1], 
                    TASK_5_PRIO,
                    TASK_5_PRIO,
                    (OS_STK *)&AppTask5Stk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_5_PRIO, "Network", &err);

    OSTaskCreateExt(AppTask6, 
                    (void *)0, 
                    (OS_STK *)&AppTask6Stk[TASK_STK_SIZE-1], 
                    TASK_6_PRIO,
                    TASK_6_PRIO,
                    (OS_STK *)&AppTask6Stk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_6_PRIO, "Keyboard", &err);

    OSTaskCreateExt(AppTask7, 
                    (void *)0, 
                    (OS_STK *)&AppTask7Stk[TASK_STK_SIZE-1], 
                    TASK_7_PRIO,
                    TASK_7_PRIO,
                    (OS_STK *)&AppTask7Stk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_7_PRIO, "Analog In", &err);

    OSTaskCreateExt(AppTask8, 
                    (void *)0, 
                    (OS_STK *)&AppTask8Stk[TASK_STK_SIZE-1], 
                    TASK_8_PRIO,
                    TASK_8_PRIO,
                    (OS_STK *)&AppTask8Stk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_8_PRIO, "Discrete I/O", &err);

    OSTaskCreateExt(AppTask9, 
                    (void *)0, 
                    (OS_STK *)&AppTask9Stk[TASK_STK_SIZE-1], 
                    TASK_9_PRIO,
                    TASK_9_PRIO,
                    (OS_STK *)&AppTask9Stk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_9_PRIO, "User #1", &err);

    OSTaskCreateExt(AppTaskA, 
                    (void *)0, 
                    (OS_STK *)&AppTaskAStk[TASK_STK_SIZE-1], 
                    TASK_A_PRIO,
                    TASK_A_PRIO,
                    (OS_STK *)&AppTaskAStk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_A_PRIO, "Modbus", &err);

    OSTaskCreateExt(AppTaskB, 
                    (void *)0, 
                    (OS_STK *)&AppTaskBStk[TASK_STK_SIZE-1], 
                    TASK_B_PRIO,
                    TASK_B_PRIO,
                    (OS_STK *)&AppTaskBStk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_B_PRIO, "GPS", &err);

    OSTaskCreateExt(AppTaskC, 
                    (void *)0, 
                    (OS_STK *)&AppTaskCStk[TASK_STK_SIZE-1], 
                    TASK_C_PRIO,
                    TASK_C_PRIO,
                    (OS_STK *)&AppTaskCStk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_C_PRIO, "Task C", &err);

    OSTaskCreateExt(AppTaskD, 
                    (void *)0, 
                    (OS_STK *)&AppTaskDStk[TASK_STK_SIZE-1], 
                    TASK_D_PRIO,
                    TASK_D_PRIO,
                    (OS_STK *)&AppTaskDStk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_D_PRIO, "Task D", &err);

    OSTaskCreateExt(AppTaskE, 
                    (void *)0, 
                    (OS_STK *)&AppTaskEStk[TASK_STK_SIZE-1], 
                    TASK_E_PRIO,
                    TASK_E_PRIO,
                    (OS_STK *)&AppTaskEStk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_E_PRIO, "Task E", &err);

    OSTaskCreateExt(AppTaskF, 
                    (void *)0, 
                    (OS_STK *)&AppTaskFStk[TASK_STK_SIZE-1], 
                    TASK_F_PRIO,
                    TASK_F_PRIO,
                    (OS_STK *)&AppTaskFStk[0],
                    TASK_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
    OSTaskNameSet(TASK_F_PRIO, "Task F", &err);
}

/*
*********************************************************************************************************
*                                         CREATE EVENTS
*
* Description : This function creates semaphores, mailboxes, queues, mutexes and event flags.
* Arguments   : none
* Notes       : none
*********************************************************************************************************
*/
static  void  AppEventCreate (void)
{
    INT8U  err;


#if OS_SEM_EN > 0
    EventSem1   = OSSemCreate(1);
    OSEventNameSet(EventSem1, "Sem. #1", &err);

    EventSem2   = OSSemCreate(1);
    OSEventNameSet(EventSem2, "Sem. #2", &err);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品一区二区久久| 成人激情开心网| 成人午夜在线播放| 欧美日韩在线播放三区| 中文字幕的久久| 麻豆国产欧美一区二区三区| 精品视频在线免费| 亚洲视频 欧洲视频| 国产成人丝袜美腿| 欧美精品一区二区三区蜜桃| 亚洲va欧美va国产va天堂影院| 成人免费视频视频| 国产亚洲一二三区| 日韩电影在线观看网站| 欧美性感一类影片在线播放| 亚洲欧洲色图综合| 成人精品免费视频| 国产欧美精品一区二区色综合朱莉| 日韩电影在线免费看| 欧美日韩高清不卡| 亚洲一区二区av在线| 一本大道久久a久久综合婷婷| 中文字幕乱码日本亚洲一区二区| 九色综合狠狠综合久久| 91精品国产福利在线观看| 午夜精品久久久久久久久久久| 91小视频在线观看| 亚洲免费av观看| 色狠狠一区二区三区香蕉| 国产精品国产自产拍高清av| 不卡的电视剧免费网站有什么| 久久久激情视频| 国产盗摄一区二区三区| 国产日产欧美一区| 成人av网站免费| 亚洲精品成人在线| 欧美中文字幕一区二区三区亚洲| 一级日本不卡的影视| 欧美亚洲尤物久久| 午夜精品视频一区| 日韩欧美一区二区不卡| 国产真实乱子伦精品视频| 久久久三级国产网站| 成人性色生活片| 亚洲天堂a在线| 欧洲视频一区二区| 三级成人在线视频| 精品国产免费一区二区三区四区| 国产精品一级在线| 自拍偷拍国产亚洲| 8x8x8国产精品| 寂寞少妇一区二区三区| 国产精品美女久久久久久久网站| 91天堂素人约啪| 天天综合色天天综合色h| 精品99一区二区| jlzzjlzz国产精品久久| 午夜视频在线观看一区二区| 精品国产乱码久久久久久蜜臀| 成人国产在线观看| 亚洲444eee在线观看| 久久久精品国产免大香伊 | 色国产综合视频| 偷窥少妇高潮呻吟av久久免费| 精品剧情在线观看| 91免费小视频| 久久精品国产亚洲一区二区三区| 亚洲欧洲日韩综合一区二区| 日本中文字幕一区二区视频 | 欧美日韩美少妇| 激情综合色播激情啊| 一区二区三区免费看视频| 精品国产免费一区二区三区香蕉| 91小视频在线免费看| 国产真实乱子伦精品视频| 一区二区三区中文字幕精品精品| 欧美va亚洲va在线观看蝴蝶网| 99久免费精品视频在线观看| 久久99精品久久久久| 亚洲一区二区精品视频| 国产日产亚洲精品系列| 日韩欧美一级精品久久| 欧美三级三级三级| 成人黄页毛片网站| 久久国产尿小便嘘嘘尿| 亚洲va欧美va人人爽| 1区2区3区国产精品| 久久这里只精品最新地址| 欧美三级电影在线看| av在线免费不卡| 国产精品一区久久久久| 蜜臀av一级做a爰片久久| 亚洲最大成人网4388xx| 国产精品福利电影一区二区三区四区| 日韩三级视频在线看| 欧美性感一区二区三区| 91久久精品国产91性色tv| 国产成人三级在线观看| 韩国视频一区二区| 日本sm残虐另类| 丝袜诱惑制服诱惑色一区在线观看| ...中文天堂在线一区| 欧美激情中文字幕一区二区| 久久免费国产精品| 精品国产凹凸成av人导航| 欧美一区二区三区在线| 69堂国产成人免费视频| 欧美人牲a欧美精品| 精品视频一区 二区 三区| 欧美性猛片xxxx免费看久爱| 欧美在线免费观看视频| 欧洲精品在线观看| 欧美伊人久久大香线蕉综合69| 91在线观看视频| 欧美在线你懂的| 欧美男女性生活在线直播观看| 欧美巨大另类极品videosbest | 色哟哟国产精品| 色综合久久88色综合天天免费| 91在线观看美女| 欧美日韩一区三区| 337p亚洲精品色噜噜| 欧美一级生活片| 精品久久久三级丝袜| 欧美—级在线免费片| 亚洲精品视频免费看| 亚洲电影视频在线| 青青草原综合久久大伊人精品| 秋霞av亚洲一区二区三| 国产一区啦啦啦在线观看| 国产成人亚洲综合色影视| 亚洲激情男女视频| 久久精品网站免费观看| 国产精品嫩草99a| 亚洲男同性恋视频| 免费在线一区观看| 国产成人在线影院 | 国产电影精品久久禁18| 91视视频在线观看入口直接观看www | 国产精品美女久久福利网站| |精品福利一区二区三区| 亚洲成人自拍偷拍| 国产在线播精品第三| a4yy欧美一区二区三区| 欧美日韩国产乱码电影| 2023国产精品| 一区二区三区中文字幕在线观看| 美女免费视频一区| 成人av综合一区| 欧美一区二区福利视频| 国产精品久久久久久久裸模| 亚洲成人av免费| 成人性色生活片免费看爆迷你毛片| 欧美日韩一区在线观看| 国产嫩草影院久久久久| 丝袜亚洲另类欧美综合| aa级大片欧美| 日韩美女一区二区三区四区| 亚洲免费毛片网站| 国产永久精品大片wwwapp| 91官网在线观看| 久久久精品蜜桃| 日韩av高清在线观看| 色网综合在线观看| 久久你懂得1024| 日韩av一区二区在线影视| 色婷婷综合久久| 国产欧美1区2区3区| 久久精品国产77777蜜臀| 在线欧美日韩精品| 欧美国产日韩在线观看| 久久精品国产网站| 欧美体内she精高潮| 日韩久久一区二区| 国产成人综合自拍| 精品区一区二区| 婷婷开心激情综合| 日本精品裸体写真集在线观看| 欧美激情一区在线| 国内成人精品2018免费看| 欧美一区二区免费视频| 亚洲图片欧美综合| 欧美色图激情小说| 一区二区高清在线| 在线视频你懂得一区| 亚洲激情网站免费观看| 99精品欧美一区二区三区小说| 久久精品欧美日韩精品 | 久久先锋影音av| 久久国产欧美日韩精品| 日韩欧美一区在线| 日韩va欧美va亚洲va久久| 欧美美女激情18p| 亚洲一区二区在线视频| 欧美一a一片一级一片| 亚洲精品国久久99热| 91免费版在线| 亚洲精品国产一区二区精华液 | 欧美精品一二三四| 亚洲黄网站在线观看|