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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? app.c

?? NXPLPC2138 平臺(tái)下使用UC/0S-II 操作系統(tǒng). 在IAR工工程環(huán)境下的源代碼.帶有一此驅(qū)動(dòng)程序,LCD驅(qū)動(dòng),還有原開(kāi)發(fā)板的BSP包.
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/*
*********************************************************************************************************
*                                              EXAMPLE CODE
*
*                          (c) Copyright 2003-2006; Micrium, Inc.; Weston, FL
*
*               All rights reserved.  Protected by international copyright laws.
*               Knowledge of the source code may NOT be used to develop a similar product.
*               Please help us continue to provide the Embedded community with the finest
*               software available.  Your honesty is greatly appreciated.
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                             EXAMPLE CODE
*
*                                              NXP LPC2138
*                                                on the
*                                     IAR LPC2138-SK Evaluation Board
*
* Filename      : app.c
* Version       : V1.00
* Programmer(s) : JJL
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                             INCLUDE FILES
*********************************************************************************************************
*/

#include <includes.h>


/*
*********************************************************************************************************
*                                            LOCAL DEFINES
*********************************************************************************************************
*/

#define  APP_USERIF_STATE_MAX   5

/*
*********************************************************************************************************
*                                       LOCAL GLOBAL VARIABLES
*********************************************************************************************************
*/

                                                                /* ----------------- APPLICATION GLOBALS ------------------ */
static  OS_STK       AppTaskStartStk[APP_TASK_START_STK_SIZE];

#if (uC_LCD_MODULE > 0)
static  OS_STK       AppTaskUserIFStk[APP_TASK_USER_IF_STK_SIZE];
static  OS_STK       AppTaskKbdStk[APP_TASK_KBD_STK_SIZE];

static  OS_EVENT    *AppUserIF_Mbox;

static  CPU_CHAR     AppUserIFLine1[17];
static  CPU_CHAR     AppUserIFLine2[17];

static  CPU_INT32U   AppB1Counts;
static  CPU_INT32U   AppB2Counts;
static  CPU_INT16U   AppADC;
#endif

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

static  void  AppTaskStart              (void        *p_arg);
static  void  AppTaskCreate             (void);

#if (uC_LCD_MODULE > 0)
static  void  AppTaskUserIF             (void        *p_arg);
static  void  AppTaskKbd                (void        *p_arg);

static  void  AppDispScr_SignOn         (void);
static  void  AppDispScr_VersionTickRate(void);
static  void  AppDispScr_CPU            (void);
static  void  AppDispScr_CtxSw          (void);
static  void  AppDispScr_Inputs         (void);
#endif

#if (OS_VIEW_MODULE > 0)
static  void  AppTerminalRx            (CPU_INT08U rx_data);
#endif

static  void  AppFormatDec              (CPU_INT08U  *s,
                                         CPU_INT32U   value,
                                         CPU_INT08U   digits);


/*
*********************************************************************************************************
*                                         LOCAL CONFIGURATION ERRORS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                                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 initialization.
*
* Argument(s) : none.
*
* Return(s)   : none.
*********************************************************************************************************
*/

void  main (void)
{
    CPU_INT08U  err;


    BSP_IntDisAll();                                            /* Disable all interrupts until we are ready to accept them */

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

    OSTaskCreateExt(AppTaskStart,                               /* Create the start task                                    */
                    (void *)0,
                    (OS_STK *)&AppTaskStartStk[APP_TASK_START_STK_SIZE - 1],
                    APP_TASK_START_PRIO,
                    APP_TASK_START_PRIO,
                    (OS_STK *)&AppTaskStartStk[0],
                    APP_TASK_START_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

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

    OSStart();                                                  /* Start multitasking (i.e. give control to uC/OS-II)       */
}


/*
*********************************************************************************************************
*                                          AppTaskStart()
*
* Description : The startup task.  The uC/OS-II ticker should only be initialize once multitasking starts.
*
* Argument(s) : p_arg       Argument passed to 'AppTaskStart()' by 'OSTaskCreate()'.
*
* Return(s)   : none.
*
* Note(s)     : (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 starts because the I-bit of the CCR register was
*                   set to 0 by 'OSTaskCreate()'.
*********************************************************************************************************
*/

static  void  AppTaskStart (void *p_arg)
{
    (void)p_arg;

    BSP_Init();                                                 /* Initialize BSP functions                                 */

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

#if (OS_VIEW_MODULE > 0)
    OSView_Init(38400);                                         /* OSView Init, baud rate = 38400                           */
    OSView_TerminalRxSetCallback(AppTerminalRx);
    OSView_RxIntEn();                                           /* Enable Rx Interrupts                                     */
#endif

    LED_Off(0);                                                 /* Turn OFF all the LEDs                                    */

#if (uC_LCD_MODULE > 0)
    AppUserIF_Mbox = OSMboxCreate((void *)0);                   /* Create MBOX for communication between Kbd and UserIF     */
#endif

    AppTaskCreate();                                            /* Create application tasks                                 */

    while (DEF_TRUE) {                                          /* Task body, always written as an infinite loop.           */
        OSTimeDlyHMSM(0, 0, 1, 0);
        AppADC = ADC_GetStatus(1);
    }
}


/*
*********************************************************************************************************
*                                      AppTaskCreate()
*
* Description :  Create the application tasks.
*
* Argument(s) :  none.
*
* Return(s)   :  none.
*********************************************************************************************************
*/

static  void  AppTaskCreate (void)
{
    CPU_INT08U  err;


#if (uC_LCD_MODULE > 0)
    OSTaskCreateExt(AppTaskUserIF,
                    (void *)0,
                    (OS_STK *)&AppTaskUserIFStk[APP_TASK_USER_IF_STK_SIZE - 1],
                    APP_TASK_USER_IF_PRIO,
                    APP_TASK_USER_IF_PRIO,
                    (OS_STK *)&AppTaskUserIFStk[0],
                    APP_TASK_USER_IF_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

#if (OS_TASK_NAME_SIZE > 9)
    OSTaskNameSet(APP_TASK_USER_IF_PRIO, "User I/F", &err);
#endif

    OSTaskCreateExt(AppTaskKbd,
                    (void *)0,
                    (OS_STK *)&AppTaskKbdStk[APP_TASK_KBD_STK_SIZE - 1],
                    APP_TASK_KBD_PRIO,
                    APP_TASK_KBD_PRIO,
                    (OS_STK *)&AppTaskKbdStk[0],
                    APP_TASK_KBD_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

#if (OS_TASK_NAME_SIZE > 9)
    OSTaskNameSet(APP_TASK_KBD_PRIO, "Keyboard", &err);
#endif
#endif
}


/*
*********************************************************************************************************
*                                    AppTaskKbd()
*
* Description : Monitor the state of the push buttons and passes messages to AppTaskUserIF()
*
* Argument(s) : p_arg       Argument passed to 'AppTaskKbd()' by 'OSTaskCreate()'.
*
* Return(s)   : none.
*
* Note(s)     : (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.
*********************************************************************************************************
*/

#if (uC_LCD_MODULE > 0)
static  void  AppTaskKbd (void *p_arg)
{
    CPU_BOOLEAN  b1;                                            /* State of Push Button #1                        */
    CPU_BOOLEAN  b1_prev;
    CPU_BOOLEAN  b2;                                            /* State of Push Button #2                        */
    CPU_BOOLEAN  b2_prev;
    CPU_INT08U   key;


    (void)p_arg;

    key      = 1;
    b1_prev = DEF_FALSE;
    b2_prev = DEF_FALSE;

    while (DEF_TRUE) {

        b1 = PB_GetStatus(1);
        b2 = PB_GetStatus(2);

        if (b1 == DEF_TRUE && b1_prev == DEF_FALSE) {
            AppB1Counts++;

            if (key == APP_USERIF_STATE_MAX) {
                key = 1;
            } else {
                key++;
            }
            OSMboxPost(AppUserIF_Mbox, (void *)key);
        }

        if (b2 == DEF_TRUE && b2_prev == DEF_FALSE) {
            AppB2Counts++;
            LED_Toggle(1);
        }

        b1_prev = b1;
        b2_prev = b2;

        OSTimeDlyHMSM(0, 0, 0, 50);
    }
}
#endif


/*
*********************************************************************************************************
*                                    AppTaskUserIF()
*
* Description : Updates LCD.
*
* Argument(s) : p_arg       Argument passed to 'AppTaskUserIF()' by 'OSTaskCreate()'.
*
* Return(s)   : none.
*
* Note(s)     : (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.
*********************************************************************************************************
*/

#if (uC_LCD_MODULE > 0)
static  void  AppTaskUserIF (void *p_arg)
{
    CPU_INT32U   pstate;
    CPU_INT32U   nstate;
    CPU_INT08U  *msg;
    CPU_INT08U   err;


    (void)p_arg;

    DispInit(2, 16);                                            /* Initialize the LCD module                            */

    LED_On(1);                                                  /* Turn ON    the LCD Backlight                         */

    AppDispScr_SignOn();                                        /* Display 'sign on' message                            */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久电影一区二区三区| 麻豆成人综合网| 国产精品久久一卡二卡| 久久久久久久久一| 亚洲精品一区二区三区福利| 欧美一区二区三区在| 欧美精品 国产精品| 欧美日韩国产欧美日美国产精品| 在线视频国内自拍亚洲视频| 色婷婷久久综合| 色哟哟一区二区| 欧美午夜精品电影| 欧美日韩亚洲不卡| 欧美日本韩国一区二区三区视频 | 制服丝袜亚洲色图| 在线播放91灌醉迷j高跟美女 | 99视频一区二区三区| 99国产精品99久久久久久| av在线播放成人| 色综合久久66| 欧美日韩电影在线播放| 91精品国产色综合久久ai换脸| 欧美成人午夜电影| 久久久久久久久久久久久夜| 欧美经典一区二区| 亚洲欧美激情一区二区| 亚洲动漫第一页| 蜜臂av日日欢夜夜爽一区| 国产一区二区三区美女| 成人av网在线| 欧美在线观看视频一区二区| 欧美裸体bbwbbwbbw| 精品少妇一区二区三区在线播放| 久久久久国产一区二区三区四区| 国产精品第五页| 亚洲va欧美va天堂v国产综合| 美女一区二区久久| 成人激情文学综合网| 欧美在线色视频| 精品日韩av一区二区| 自拍av一区二区三区| 视频在线观看国产精品| 国产精品91xxx| 在线国产亚洲欧美| 26uuu国产在线精品一区二区| 国产精品福利影院| 日本在线不卡一区| 成人av片在线观看| 91精品国产丝袜白色高跟鞋| 国产亚洲精品超碰| 亚洲第一主播视频| 国产精品一区二区三区99 | 中文字幕av资源一区| 亚洲影视在线播放| 国产麻豆精品一区二区| 日本韩国一区二区| 久久色视频免费观看| 亚洲综合一区二区三区| 国产酒店精品激情| 欧美猛男gaygay网站| 中文字幕第一区二区| 日本欧美一区二区在线观看| 97se狠狠狠综合亚洲狠狠| 欧美一区二区三区色| 最新成人av在线| 经典三级视频一区| 欧美三级日本三级少妇99| 日本一区二区三区久久久久久久久不| 亚洲已满18点击进入久久| 岛国精品在线播放| 日韩片之四级片| 亚洲综合另类小说| 成人avav在线| 精品国内二区三区| 丝袜脚交一区二区| 色诱视频网站一区| 国产精品色哟哟| 黄色资源网久久资源365| 欧美色图第一页| 亚洲色图一区二区| 国产ts人妖一区二区| 欧美电影免费观看高清完整版在线 | 一本一本久久a久久精品综合麻豆| 精品国产青草久久久久福利| 亚洲国产精品自拍| 色哟哟亚洲精品| 国产精品另类一区| 国产成人在线观看| 久久综合中文字幕| 免费高清成人在线| 911精品国产一区二区在线| 亚洲免费电影在线| 99国产欧美另类久久久精品| 国产人伦精品一区二区| 国产乱子轮精品视频| 精品国产成人系列| 日本一区中文字幕| 国产精品久久久久久亚洲伦| 国产精品一区二区三区乱码| 精品国产区一区| 韩国视频一区二区| 日韩精品中午字幕| 蜜乳av一区二区三区| 日韩视频免费观看高清完整版在线观看 | 樱花草国产18久久久久| av在线综合网| 中文字幕一区二区三区四区| 成人精品视频一区| 国产精品精品国产色婷婷| 成人app下载| 中文字幕中文字幕一区二区| 99久久99久久精品免费观看 | 国产伦理精品不卡| 国产日韩欧美亚洲| 国产成人精品免费在线| 国产精品色哟哟网站| 99久久精品免费看| 亚洲制服欧美中文字幕中文字幕| 欧美自拍丝袜亚洲| 五月天网站亚洲| 日韩三级在线免费观看| 国产麻豆午夜三级精品| 国产精品免费视频观看| 91蜜桃传媒精品久久久一区二区| 亚洲精品国产无天堂网2021| 欧美日韩三级一区| 美国十次综合导航| 国产婷婷色一区二区三区在线| 成人午夜视频网站| 一区二区三区小说| 91精品欧美福利在线观看| 激情伊人五月天久久综合| 亚洲国产高清在线| 91浏览器打开| 秋霞电影网一区二区| 久久久久国产精品厨房| 91在线视频观看| 国产日韩精品久久久| 在线欧美一区二区| 久久99精品一区二区三区三区| 中文字幕第一区| 欧美美女一区二区| 国产一区二区毛片| 一区二区三区国产精品| 日韩精品一区二区三区在线| 成人高清在线视频| 日韩中文字幕一区二区三区| 久久综合久久99| 在线日韩一区二区| 狠狠色狠狠色综合| 亚洲黄色小视频| 精品国产精品一区二区夜夜嗨| av在线不卡观看免费观看| 日产欧产美韩系列久久99| 国产精品色在线| 正在播放亚洲一区| jlzzjlzz亚洲女人18| 日本视频在线一区| 最新国产成人在线观看| 日韩精品一区二区三区四区视频 | 国产精品理论片在线观看| 欧美人动与zoxxxx乱| 成人一级黄色片| 青青青伊人色综合久久| 亚洲日韩欧美一区二区在线| 日韩免费性生活视频播放| 91国偷自产一区二区三区成为亚洲经典| 美国精品在线观看| 一区二区三区在线观看欧美| 久久一区二区视频| 欧美乱妇20p| 91在线一区二区三区| 国产在线精品一区二区三区不卡| 亚洲综合一区在线| 国产精品久久久久久久久免费相片| 在线91免费看| 欧美私模裸体表演在线观看| 国产91精品精华液一区二区三区 | 国产精品一区二区在线观看不卡 | 国产在线麻豆精品观看| 亚洲成人综合在线| 成人欧美一区二区三区小说 | 精品一区二区久久久| 亚洲www啪成人一区二区麻豆| 中文字幕在线免费不卡| 2014亚洲片线观看视频免费| 欧美一区二区三区在线视频 | 国产精品色一区二区三区| 精品欧美一区二区三区精品久久| 欧美撒尿777hd撒尿| 色综合天天综合色综合av | 中文字幕免费观看一区| 日韩免费观看高清完整版| 欧美日韩免费在线视频| 色偷偷久久人人79超碰人人澡| 国产sm精品调教视频网站| 激情五月婷婷综合| 久久99精品久久只有精品| 奇米影视7777精品一区二区| 亚洲h动漫在线|