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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? os_viewc.c

?? 基于 Philips 公司的 ARM-7 使用之 uC/OS-II 作業(yè)系統(tǒng),此例程是移植于 LPC-2138 上的應(yīng)用,不同于一般的 Porting 其最主要是加入了支援 OS_View 觀察器功能
?? C
字號(hào):
/*
*********************************************************************************************************
*                                               uC/OS-View
*
*                                 (c) Copyright 2005, Micrium, Weston, FL
*                                           All Rights Reserved
*
*                                            NXP LPC2000 (ARM7)
*                                             IAR C Compiler
*
*
* Filename   : OS_VIEWc.C
* Version    : V1.20
* Programmer : Jean J. Labrosse
*********************************************************************************************************
*/

#include <includes.h>

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

#define  BIT0      0x01
#define  BIT1      0x02
#define  BIT2      0x04
#define  BIT3      0x08
#define  BIT4      0x10
#define  BIT5      0x20
#define  BIT6      0x40
#define  BIT7      0x80

/*$PAGE*/
/*
*********************************************************************************************************
*                                           EXIT uC/OS-View
*
* Description: This function is called if your target needs to 'uninstall' uC/OS-View.
*
* Note(s)    :
*********************************************************************************************************
*/

void  OSView_Exit (void)
{
}

/*
*********************************************************************************************************
*                                           Obtain CPU name
*********************************************************************************************************
*/

void  OSView_GetCPUName (INT8U *s)
{
    INT8U  cpu_clk_freq;


    cpu_clk_freq = (INT8U)(BSP_CPU_ClkFreq() / 1000000L);
    (void)OS_StrCopy(s, "NXP LPC2000 (xx MHz)");
    s[13] = cpu_clk_freq / 10 + '0';
    s[14] = cpu_clk_freq % 10 + '0';
}

/*
*********************************************************************************************************
*                                  Obtain Interrupt Stack information
*********************************************************************************************************
*/

INT32U  OSView_GetIntStkBase (void)
{
    return (0);                                       /* We are not using an ISR stack                 */
}


INT32U  OSView_GetIntStkSize (void)
{
    return (0);                                       /* We are not using an ISR stack                 */
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                    INITIALISE uC/OS-View COM PORT
*
* Description: Initialize the hardware required for the OS to run. This will work on any target hardware,
*              but may have to be tailored a little (regarding the clock frequency). Of course the same
*              holds true if for some reason you choose to use another timer.
*
* Note(s)    : 1) This function assumes that a free running timer has been initialized.  The timer can
*                 either be a 16 bits or 32 bits timer.  Your application needs to provide a function
*                 called OSView_TmrRd() that reads the current counts of this timer.  The free running
*                 timer is initialized by the BSP function OSView_TmrInit().
*********************************************************************************************************
*/

void  OSView_InitTarget (INT32U baud_rate)
{
    INT16U     div;                                      /* Baud rate divisor                          */
    INT8U      divlo;
    INT8U      divhi;
    INT8U      lcr;										 /* Line Control Register                      */
    INT32U     pinsel;
    INT32U     peripheral_clk_freq;
#if OS_CRITICAL_METHOD == 3                              /* Allocate storage for CPU status register   */
    OS_CPU_SR  cpu_sr   = 0;
#endif


    OSView_TmrInit();                                    /* Initialize the free running timer          */

                                                         /* Compute divisor for desired baud rate      */
    peripheral_clk_freq = BSP_CPU_ClkFreqPeripheral();
    div                 = (INT16U)(((2 * peripheral_clk_freq / 16 / baud_rate) + 1) / 2);
    divlo               =  div & 0x00FF;                 /* Split divisor into LOW and HIGH bytes      */
    divhi               = (div >> 8) & 0x00FF;
    lcr                 = 0x03;                          /* 8 Bits, 1 Stop, No Parity                  */

#if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    OS_ENTER_CRITICAL();
	pinsel              = PINSEL0;					     /* Enable UART0 I/Os                          */
	pinsel             &= 0xFFFFFFF0;
	pinsel             |= 0x00000005;
    PINSEL0             = pinsel;
    U0LCR               = BIT7;                          /* Set divisor access bit                     */
    U0DLL               = divlo;                         /* Load divisor                               */
    U0DLM               = divhi;
    U0LCR               = lcr;                           /* Set line control register (Bit 8 is 0)     */
    U0IER               = 0x00;                          /* Disable both Rx and Tx interrupts          */
    U0FCR               = 0x01;                          /* Enable FIFO, flush Rx & Tx                 */
    OS_EXIT_CRITICAL();
                                                         /* VIC UART #0 Initialization                 */
    VICIntSelect       &= ~(1 << VIC_UART0);             /* Enable interrupts                          */
    VICVectAddr15       = (INT32U)OSView_RxTxISRHandler; /* Set the vector address                     */
    VICVectCntl15       = 0x20 | VIC_UART0;              /* Enable vectored interrupts                 */
    VICIntEnable        =  (1 << VIC_UART0);             /* Enable Interrupts                          */
#endif

#if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    OS_ENTER_CRITICAL();
	pinsel              = PINSEL0;						 /* Enable UART1 I/Os                          */
	pinsel             &= 0xFFF0FFFF;
	pinsel             |= 0x00050000;
    PINSEL0             = pinsel;
    U1LCR               = BIT7;                          /* Set divisor access bit                     */
    U1DLL               = divlo;                         /* Load divisor                               */
    U1DLM               = divhi;
    U1LCR               = lcr;                           /* Set line control register (Bit 8 is 0)     */
    U1IER               = 0x00;                          /* Disable both Rx and Tx interrupts          */
    U1FCR               = 0x01;                          /* Enable FIFO, flush Rx & Tx                 */
    OS_EXIT_CRITICAL();
                                                         /* VIC UART #1 Initialization                 */
    VICIntSelect       &= ~(1 << VIC_UART1);             /* Enable interrupts                          */
    VICVectAddr15       = (INT32U)OSView_RxTxISRHandler; /* Set the vector address                     */
    VICVectCntl15       = 0x20 | VIC_UART1;              /* Enable vectored interrupts                 */
    VICIntEnable        =  (1 << VIC_UART1);             /* Enable Interrupts                          */
#endif
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                       Disable Rx Interrupts
*********************************************************************************************************
*/

void  OSView_RxIntDis (void)
{
#if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    U0IER = 0;
#endif

#if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    U1IER = 0;
#endif
}

/*
*********************************************************************************************************
*                                       Enable Rx Interrupts
*********************************************************************************************************
*/

void  OSView_RxIntEn (void)
{
#if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    U0IER = BIT0;
#endif

#if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    U1IER = BIT0;
#endif
}

/*
*********************************************************************************************************
*                                 Rx Communication handler for uC/OS-View
*
* Description: This function is called by OSView_RxISR (see OS_VIEWa.ASM) to process a received
*              character interrupt.
*
* Note(s)    : This adaptation of uC/OS-View assumes that a 'combined' interrupt is generated by the UART
*              and thus this function is not needed.
*********************************************************************************************************
*/

void  OSView_RxISRHandler (void)
{
}

/*
*********************************************************************************************************
*                                Rx/Tx Communication handler for uC/OS-View
*
* Description: This function is NOT called because the M16C has a separate Rx and Tx ISR.
*********************************************************************************************************
*/

void  OSView_RxTxISRHandler (void)
{
    volatile  INT8U  rx_data;
    volatile  INT8U  lsr;
    volatile  INT8U  iir;



#if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    iir = U0IIR & 0x0F;
    while (iir != 1) {
        switch (iir) {
            case  0:                                   /* Modem interrupt?                             */
                 break;

            case  2:                                   /* Transmitted character?                       */
                 OSView_TxHandler();
                 break;

            case  4:                                   /* Received a character?                        */
                 lsr     = U0LSR;
                 rx_data = U0RBR;
                 OSView_RxHandler(rx_data);            /* Call the generic Rx handler                  */
                 break;

            case  6:                                   /* Receive Line Status interrupt?               */
                 break;

            case 12:                                   /* CTI interrupt?                               */
                 break;
        }
        iir = U0IIR & 0x0F;
    }
#endif

#if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    iir = U1IIR & 0x0F;
    while (iir != 1) {
        switch (iir) {
            case  0:                                   /* Modem interrupt?                             */
                 break;

            case  2:                                   /* Transmitted character?                       */
                 OSView_TxHandler();
                 break;

            case  4:                                   /* Received a character?                        */
                 lsr     = U1LSR;
                 rx_data = U1RBR;
                 OSView_RxHandler(rx_data);            /* Call the generic Rx handler                  */
                 break;

            case  6:                                   /* Receive Line Status interrupt?               */
                 break;

            case 12:                                   /* CTI interrupt?                               */
                 break;
        }
        iir = U1IIR & 0x0F;
    }
#endif

    VICVectAddr = 0x00000000L;                         /* Clear the vector address register            */
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                      Communication for uC/OS-View
*
* Description: Send 1 character to COM Port
*********************************************************************************************************
*/

void  OSView_Tx1 (INT8U c)
{
#if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    U0THR = c;
#endif

#if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    U1THR = c;
#endif
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                       Disable Tx Interrupts
*********************************************************************************************************
*/

void  OSView_TxIntDis (void)
{
#if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    U0IER = BIT0;                                /* Just enable the receive interrupts                 */
#endif

#if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    U1IER = BIT0;                                /* Just enable the receive interrupts                 */
#endif
}

/*
*********************************************************************************************************
*                                       Enable Tx Interrupts
*********************************************************************************************************
*/

void  OSView_TxIntEn (void)
{
#if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
    U0IER = BIT1 | BIT0;
#endif

#if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
    U1IER = BIT1 | BIT0;
#endif
}

/*
*********************************************************************************************************
*                                 Tx Communication handler for uC/OS-View
*                                            (PORT SPECIFIC)
*
* Description: Handle transmission of a character
*
* Note(s)    : 1) This function is called by OSView_RxISR (see OS_VIEWa.ASM)
*              2) This adaptation of uC/OS-View assumes that a 'combined' interrupt is generated by the
*                 UART and thus this function is not needed.
*********************************************************************************************************
*/

void  OSView_TxISRHandler (void)
{
}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久综合网| 色噜噜夜夜夜综合网| 国产99久久久国产精品潘金| 成人午夜短视频| 在线看一区二区| 日韩三级电影网址| 国产精品视频一二| 国产喷白浆一区二区三区| 亚洲激情一二三区| 日本91福利区| 色婷婷综合久久久久中文| 欧美色区777第一页| 欧美xxxxxxxxx| 国产精品国产自产拍高清av王其| 一区二区欧美在线观看| 欧美色偷偷大香| 日韩精品自拍偷拍| 最新欧美精品一区二区三区| 日本少妇一区二区| 成人免费的视频| 91精品在线一区二区| 欧美在线观看视频一区二区 | 精品久久国产97色综合| 国产精品色眯眯| 中文字幕一区三区| 亚洲电影第三页| 午夜欧美大尺度福利影院在线看| 美女一区二区视频| 欧美系列在线观看| 欧美aaaaa成人免费观看视频| 久久网这里都是精品| 高清shemale亚洲人妖| 亚洲精选视频免费看| 久草中文综合在线| 在线观看一区不卡| 国产日韩欧美高清| 日韩成人一级大片| 在线视频欧美精品| 日本一区二区视频在线| 免费人成黄页网站在线一区二区| 91麻豆国产在线观看| 精品噜噜噜噜久久久久久久久试看| 亚洲欧美一区二区三区极速播放| 韩国毛片一区二区三区| 欧美喷潮久久久xxxxx| 亚洲欧洲精品成人久久奇米网| 麻豆精品精品国产自在97香蕉 | 国产日韩欧美激情| 日本午夜精品视频在线观看| 色婷婷综合视频在线观看| 国产午夜久久久久| 久久精品二区亚洲w码| 欧美三电影在线| 亚洲乱码日产精品bd| 成人久久久精品乱码一区二区三区 | xfplay精品久久| 日韩福利电影在线| 欧美日韩中文字幕一区二区| 中文字幕综合网| 成人精品视频网站| 久久久亚洲精华液精华液精华液| 美女一区二区在线观看| 欧美精选在线播放| 亚洲一区二区三区中文字幕 | 中文字幕一区二区三区乱码在线| 国产黄人亚洲片| 欧美精品一区二区三区视频 | 国产高清精品久久久久| 国产亚洲精品aa| 国产精品小仙女| 国产精品乱码一区二区三区软件| 成人av在线资源| 亚洲欧美一区二区三区国产精品 | 欧美视频第二页| 亚洲成人中文在线| 欧美精品一级二级三级| 免费视频一区二区| 久久久亚洲精华液精华液精华液| 成人av手机在线观看| 欧美国产日韩精品免费观看| 欧美性生活久久| 久久激情五月婷婷| 欧美成人video| 国产精品亚洲午夜一区二区三区| 97se亚洲国产综合在线| 精品一区二区综合| 成人高清在线视频| 久久先锋影音av鲁色资源网| 亚洲综合视频网| 在线观看视频一区二区欧美日韩| 亚洲一区二区在线免费观看视频| 欧美视频一区二区三区在线观看 | 懂色av一区二区三区免费观看| 亚洲国产成人午夜在线一区| 高清av一区二区| 亚洲欧美日韩国产成人精品影院| 亚洲成在人线免费| 国产欧美日韩不卡免费| 777奇米四色成人影色区| 97久久精品人人爽人人爽蜜臀| 精品一区二区三区影院在线午夜| 亚洲色图一区二区三区| 国产精品天美传媒| 在线综合视频播放| 欧美亚洲综合一区| 狠狠色丁香婷综合久久| 国产片一区二区| 久久女同性恋中文字幕| 国产精品第四页| 国产精一区二区三区| 欧美电视剧在线看免费| 亚洲小少妇裸体bbw| 欧美一区二区在线免费观看| 国产一区二区精品在线观看| 中文字幕亚洲欧美在线不卡| 欧美日韩精品一区二区三区四区| 美脚の诱脚舐め脚责91| 欧美激情一区二区三区| 欧美在线免费播放| 国产一区二区电影| 亚洲精品国产一区二区精华液| 欧美二区三区91| 粉嫩一区二区三区性色av| 亚洲亚洲人成综合网络| 久久中文娱乐网| 欧美性猛交xxxx黑人交| 久久99国产精品久久| 亚洲欧美偷拍三级| 久久久久久影视| 欧美日韩国产精品成人| 国产高清精品在线| 午夜av一区二区三区| 国产欧美日韩视频在线观看| 欧美群妇大交群的观看方式| 高清国产午夜精品久久久久久| 天天av天天翘天天综合网色鬼国产| 久久久久久久久久久黄色| 欧美色大人视频| 成人免费视频caoporn| 蜜臀av一区二区三区| 亚洲伦在线观看| 国产日韩欧美a| 欧美乱熟臀69xxxxxx| av资源站一区| 国产真实乱子伦精品视频| 亚洲第一主播视频| 中文字幕日韩一区| 久久婷婷久久一区二区三区| 欧美少妇xxx| www.日韩av| 国产激情一区二区三区四区| 日本亚洲电影天堂| 亚洲最大色网站| 国产精品麻豆久久久| 欧美tk—视频vk| 欧美肥妇毛茸茸| 日本乱码高清不卡字幕| 成人免费av在线| 国产在线精品免费| 久久成人av少妇免费| 午夜久久久影院| 亚洲午夜羞羞片| 亚洲摸摸操操av| 国产精品电影一区二区| 国产欧美日本一区二区三区| 日韩精品专区在线影院重磅| 欧美精品xxxxbbbb| 欧美图区在线视频| 91高清视频免费看| 91丨porny丨国产| 99精品一区二区| 成人午夜电影久久影院| 懂色av一区二区三区免费看| 国产又黄又大久久| 国产制服丝袜一区| 九色综合狠狠综合久久| 麻豆国产精品视频| 美腿丝袜一区二区三区| 奇米在线7777在线精品| 日韩国产一区二| 日韩高清不卡在线| 热久久久久久久| 美女免费视频一区二区| 美女视频黄久久| 久久99精品国产麻豆婷婷| 久久99热99| 国精产品一区一区三区mba桃花 | 成人激情免费视频| 国产精品888| 国产电影一区在线| 盗摄精品av一区二区三区| 成人性生交大合| 99久久免费国产| 欧美自拍丝袜亚洲| 欧美日韩黄色影视| 日韩一二在线观看| 亚洲精品在线电影| 中文字幕欧美日韩一区| 中文字幕视频一区| 成人综合激情网|