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

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

?? cpu_c.c

?? UCOS-III
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
*/

void  CPU_IntSrcPrioSet (CPU_INT08U  pos,
                         CPU_INT08U  prio)
{
    CPU_INT08U  group;
    CPU_INT08U  nbr;
    CPU_INT08U  pos_max;
    CPU_INT32U  prio_32;
    CPU_INT32U  temp;
    CPU_SR_ALLOC();


    prio_32 = CPU_RevBits((CPU_INT08U)prio);
    prio    = (CPU_INT08U)(prio_32 >> (3 * DEF_OCTET_NBR_BITS));

    switch (pos) {
        case CPU_INT_STK_PTR:                                   /* ---------------- INVALID OR RESERVED --------------- */
        case CPU_INT_RSVD_07:
        case CPU_INT_RSVD_08:
        case CPU_INT_RSVD_09:
        case CPU_INT_RSVD_10:
        case CPU_INT_RSVD_13:
             break;


                                                                /* ----------------- SYSTEM EXCEPTIONS ---------------- */
        case CPU_INT_RESET:                                     /* Reset (see Note #2).                                 */
        case CPU_INT_NMI:                                       /* Non-maskable interrupt (see Note #2).                */
        case CPU_INT_HFAULT:                                    /* Hard fault (see Note #2).                            */
             break;

        case CPU_INT_MEM:                                       /* Memory management.                                   */
             CPU_CRITICAL_ENTER();
             temp                 = CPU_REG_NVIC_SHPRI1;
             temp                &= ~(DEF_OCTET_MASK << (0 * DEF_OCTET_NBR_BITS));
             temp                |=  (prio           << (0 * DEF_OCTET_NBR_BITS));
             CPU_REG_NVIC_SHPRI1  = temp;
             CPU_CRITICAL_EXIT();
             break;

        case CPU_INT_BUSFAULT:                                  /* Bus fault.                                           */
             CPU_CRITICAL_ENTER();
             temp                 = CPU_REG_NVIC_SHPRI1;
             temp                &= ~(DEF_OCTET_MASK << (1 * DEF_OCTET_NBR_BITS));
             temp                |=  (prio           << (1 * DEF_OCTET_NBR_BITS));
             CPU_REG_NVIC_SHPRI1  = temp;
             CPU_CRITICAL_EXIT();
             break;

        case CPU_INT_USAGEFAULT:                                /* Usage fault.                                         */
             CPU_CRITICAL_ENTER();
             temp                 = CPU_REG_NVIC_SHPRI1;
             temp                &= ~(DEF_OCTET_MASK << (2 * DEF_OCTET_NBR_BITS));
             temp                |=  (prio           << (2 * DEF_OCTET_NBR_BITS));
             CPU_REG_NVIC_SHPRI1  = temp;
             CPU_CRITICAL_EXIT();
             break;

        case CPU_INT_SVCALL:                                    /* SVCall.                                              */
             CPU_CRITICAL_ENTER();
             temp                 = CPU_REG_NVIC_SHPRI2;
             temp                &= ~((CPU_INT32U)DEF_OCTET_MASK << (3 * DEF_OCTET_NBR_BITS));
             temp                |=  (prio                       << (3 * DEF_OCTET_NBR_BITS));
             CPU_REG_NVIC_SHPRI2  = temp;
             CPU_CRITICAL_EXIT();
             break;

        case CPU_INT_DBGMON:                                    /* Debug monitor.                                       */
             CPU_CRITICAL_ENTER();
             temp                = CPU_REG_NVIC_SHPRI3;
             temp                &= ~(DEF_OCTET_MASK << (0 * DEF_OCTET_NBR_BITS));
             temp                |=  (prio           << (0 * DEF_OCTET_NBR_BITS));
             CPU_REG_NVIC_SHPRI3  = temp;
             CPU_CRITICAL_EXIT();
             break;

        case CPU_INT_PENDSV:                                    /* PendSV.                                              */
             CPU_CRITICAL_ENTER();
             temp                 = CPU_REG_NVIC_SHPRI3;
             temp                &= ~(DEF_OCTET_MASK << (2 * DEF_OCTET_NBR_BITS));
             temp                |=  (prio           << (2 * DEF_OCTET_NBR_BITS));
             CPU_REG_NVIC_SHPRI3  = temp;
             CPU_CRITICAL_EXIT();
             break;

        case CPU_INT_SYSTICK:                                   /* SysTick.                                             */
             CPU_CRITICAL_ENTER();
             temp                 = CPU_REG_NVIC_SHPRI3;
             temp                &= ~((CPU_INT32U)DEF_OCTET_MASK << (3 * DEF_OCTET_NBR_BITS));
             temp                |=  (prio                       << (3 * DEF_OCTET_NBR_BITS));
             CPU_REG_NVIC_SHPRI3  = temp;
             CPU_CRITICAL_EXIT();
             break;


                                                                /* ---------------- EXTERNAL INTERRUPT ---------------- */
        default:
            pos_max = CPU_INT_SRC_POS_MAX;
            if (pos < pos_max) {                                /* See Note #3.                                         */
                 group                    = (pos - 16) / 4;
                 nbr                      = (pos - 16) % 4;

                 CPU_CRITICAL_ENTER();
                 temp                     = CPU_REG_NVIC_PRIO(group);
                 temp                    &= ~(DEF_OCTET_MASK << (nbr * DEF_OCTET_NBR_BITS));
                 temp                    |=  (prio           << (nbr * DEF_OCTET_NBR_BITS));
                 CPU_REG_NVIC_PRIO(group) = temp;
                 CPU_CRITICAL_EXIT();
             }
             break;
    }
}


/*$PAGE*/
/*
*********************************************************************************************************
*                                         CPU_IntSrcPrioGet()
*
* Description : Get priority of an interrupt source.
*
* Argument(s) : pos     Position of interrupt vector in interrupt table (see 'CPU_IntSrcDis()').
*
* Return(s)   : Priority of interrupt source.  If the interrupt source specified is invalid, then
*               DEF_INT_16S_MIN_VAL is returned.
*
* Caller(s)   : Application.
*
* Note(s)     : (1) See 'CPU_IntSrcDis()      Note #1'.
*
*               (2) See 'CPU_IntSrcPrioSet()  Note #2'.
*
*               (3) See 'CPU_IntSrcDis()      Note #3'.
*********************************************************************************************************
*/

CPU_INT16S  CPU_IntSrcPrioGet (CPU_INT08U  pos)
{
    CPU_INT08U  group;
    CPU_INT08U  nbr;
    CPU_INT08U  pos_max;
    CPU_INT16S  prio;
    CPU_INT32U  prio_32;
    CPU_INT32U  temp;
    CPU_SR_ALLOC();


    switch (pos) {
        case CPU_INT_STK_PTR:                                   /* ---------------- INVALID OR RESERVED --------------- */
        case CPU_INT_RSVD_07:
        case CPU_INT_RSVD_08:
        case CPU_INT_RSVD_09:
        case CPU_INT_RSVD_10:
        case CPU_INT_RSVD_13:
             prio = DEF_INT_16S_MIN_VAL;
             break;


                                                                /* ----------------- SYSTEM EXCEPTIONS ---------------- */
        case CPU_INT_RESET:                                     /* Reset (see Note #2).                                 */
             prio = -3;
             break;

        case CPU_INT_NMI:                                       /* Non-maskable interrupt (see Note #2).                */
             prio = -2;
             break;

        case CPU_INT_HFAULT:                                    /* Hard fault (see Note #2).                            */
             prio = -1;
             break;


        case CPU_INT_MEM:                                       /* Memory management.                                   */
             CPU_CRITICAL_ENTER();
             temp = CPU_REG_NVIC_SHPRI1;
             prio = (temp >> (0 * DEF_OCTET_NBR_BITS)) & DEF_OCTET_MASK;
             CPU_CRITICAL_EXIT();
             break;


        case CPU_INT_BUSFAULT:                                  /* Bus fault.                                           */
             CPU_CRITICAL_ENTER();
             temp = CPU_REG_NVIC_SHPRI1;
             prio = (temp >> (1 * DEF_OCTET_NBR_BITS)) & DEF_OCTET_MASK;
             CPU_CRITICAL_EXIT();
             break;


        case CPU_INT_USAGEFAULT:                                /* Usage fault.                                         */
             CPU_CRITICAL_ENTER();
             temp = CPU_REG_NVIC_SHPRI1;
             prio = (temp >> (2 * DEF_OCTET_NBR_BITS)) & DEF_OCTET_MASK;
             break;

        case CPU_INT_SVCALL:                                    /* SVCall.                                              */
             CPU_CRITICAL_ENTER();
             temp = CPU_REG_NVIC_SHPRI2;
             prio = (temp >> (3 * DEF_OCTET_NBR_BITS)) & DEF_OCTET_MASK;
             CPU_CRITICAL_EXIT();
             break;

        case CPU_INT_DBGMON:                                    /* Debug monitor.                                       */
             CPU_CRITICAL_ENTER();
             temp = CPU_REG_NVIC_SHPRI3;
             prio = (temp >> (0 * DEF_OCTET_NBR_BITS)) & DEF_OCTET_MASK;
             CPU_CRITICAL_EXIT();
             break;

        case CPU_INT_PENDSV:                                    /* PendSV.                                              */
             CPU_CRITICAL_ENTER();
             temp = CPU_REG_NVIC_SHPRI3;
             prio = (temp >> (2 * DEF_OCTET_NBR_BITS)) & DEF_OCTET_MASK;
             CPU_CRITICAL_EXIT();
             break;

        case CPU_INT_SYSTICK:                                   /* SysTick.                                             */
             CPU_CRITICAL_ENTER();
             temp = CPU_REG_NVIC_SHPRI3;
             prio = (temp >> (3 * DEF_OCTET_NBR_BITS)) & DEF_OCTET_MASK;
             CPU_CRITICAL_EXIT();
             break;


                                                                /* ---------------- EXTERNAL INTERRUPT ---------------- */
        default:
            pos_max = CPU_INT_SRC_POS_MAX;
            if (pos < pos_max) {                                /* See Note #3.                                         */
                 group = (pos - 16) / 4;
                 nbr   = (pos - 16) % 4;

                 CPU_CRITICAL_ENTER();
                 temp  = CPU_REG_NVIC_PRIO(group);
                 CPU_CRITICAL_EXIT();

                 prio  = (temp >> (nbr * DEF_OCTET_NBR_BITS)) & DEF_OCTET_MASK;
             } else {
                 prio  = DEF_INT_16S_MIN_VAL;
             }
             break;
    }

    if (prio >= 0) {
        prio_32 = CPU_RevBits((CPU_INT32U)prio);
        prio    = (CPU_INT16S)(prio_32 >> (3 * DEF_OCTET_NBR_BITS));
    }

    return (prio);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产日韩亚洲一区| 欧美一级欧美三级| 国产精品久久久久影院老司| 成人教育av在线| 欧美国产日产图区| 色综合久久综合| 亚洲自拍都市欧美小说| 在线播放国产精品二区一二区四区| 婷婷中文字幕一区三区| 欧美videos大乳护士334| 国产成人综合在线播放| 国产精品国产三级国产专播品爱网| av在线综合网| 图片区小说区国产精品视频| 日韩欧美电影在线| 成人午夜大片免费观看| 亚洲国产精品久久人人爱蜜臀 | 欧美电视剧在线看免费| 国产在线视频一区二区| 亚洲欧洲日韩综合一区二区| 欧美日韩mp4| 国产精品资源站在线| 亚洲日本乱码在线观看| 欧美一区二区三区成人| 国产69精品久久久久777| 亚洲国产中文字幕在线视频综合| 欧美大肚乱孕交hd孕妇| 97超碰欧美中文字幕| 日韩高清在线观看| 国产精品妹子av| 91精品婷婷国产综合久久性色| 高清国产一区二区| 五月天激情综合| 国产精品女主播av| 日韩一区二区视频在线观看| 成人一区在线看| 成人午夜激情片| 日韩在线卡一卡二| 亚洲视频小说图片| 久久综合五月天婷婷伊人| 在线一区二区视频| 国产成人av一区| 日韩**一区毛片| 亚洲精品国久久99热| 久久麻豆一区二区| 欧美一区日韩一区| 日本高清不卡一区| 成人av免费网站| 国产一区二区三区四| 香蕉成人啪国产精品视频综合网| 国产精品视频在线看| 欧美成人乱码一区二区三区| 欧美三级在线视频| 色综合夜色一区| 高清在线观看日韩| 精品一区二区三区久久| 天堂在线亚洲视频| 亚洲免费在线电影| 中文字幕制服丝袜一区二区三区| 欧美岛国在线观看| 日韩一区二区在线观看视频| 欧美在线免费观看亚洲| 色综合久久综合网| 91麻豆精品在线观看| 99re视频精品| 成人国产在线观看| 成人免费黄色在线| 高清国产午夜精品久久久久久| 国产乱色国产精品免费视频| 久久99精品国产91久久来源| 男人操女人的视频在线观看欧美| 亚洲.国产.中文慕字在线| 一区二区三区不卡在线观看| 亚洲蜜臀av乱码久久精品| 亚洲人妖av一区二区| 亚洲特级片在线| 亚洲人成网站精品片在线观看| 自拍偷在线精品自拍偷无码专区| 国产精品日日摸夜夜摸av| 中文字幕电影一区| 中文字幕一区二区三区av| 日韩理论片在线| 亚洲人成7777| 性做久久久久久| 日本伊人色综合网| 久久99久久久久| 国产麻豆精品在线| 成a人片亚洲日本久久| 99久久久国产精品| 在线亚洲一区观看| 91精选在线观看| 日韩一本二本av| 国产午夜精品久久| 自拍av一区二区三区| 亚洲一区二区三区视频在线| 午夜激情综合网| 久久福利资源站| 不卡在线视频中文字幕| 欧美在线999| 日韩欧美成人午夜| 国产精品久久精品日日| 亚洲一区二区三区中文字幕 | 亚洲国产视频直播| 日本va欧美va欧美va精品| 韩国成人在线视频| 97se亚洲国产综合自在线不卡| 欧美三级乱人伦电影| 欧美mv日韩mv| 亚洲天天做日日做天天谢日日欢| 亚洲国产精品人人做人人爽| 狠狠色狠狠色综合系列| 成人av集中营| 欧美一区中文字幕| 国产精品萝li| 日韩av电影天堂| 99视频超级精品| 日韩亚洲欧美在线| 日韩伦理av电影| 麻豆成人综合网| 93久久精品日日躁夜夜躁欧美| 欧美一三区三区四区免费在线看 | 成人高清av在线| 一区二区三区在线视频观看58| 日韩精品一级中文字幕精品视频免费观看| 美女高潮久久久| 色妞www精品视频| 久久蜜桃一区二区| 午夜成人在线视频| 成人精品免费网站| 欧美一区永久视频免费观看| 亚洲欧美经典视频| 国产麻豆日韩欧美久久| 8x福利精品第一导航| 亚洲三级视频在线观看| 国产精品影视在线观看| 欧美美女喷水视频| 国产精品乱码一区二区三区软件| 婷婷开心久久网| 91在线高清观看| 国产无遮挡一区二区三区毛片日本| 婷婷六月综合亚洲| 在线亚洲+欧美+日本专区| 国产精品色噜噜| 蜜桃视频免费观看一区| 欧美日韩中文字幕精品| 亚洲精品视频自拍| 成人黄色大片在线观看| 久久久99久久| 精品亚洲porn| 欧美一区二区三区精品| 婷婷开心激情综合| 欧美日韩在线观看一区二区| 亚洲黄色免费电影| 99国产欧美另类久久久精品| 国产午夜精品一区二区三区视频 | 亚洲精品写真福利| 99久久伊人网影院| 国产精品区一区二区三区 | 欧美精品一区在线观看| 亚洲影视在线播放| 972aa.com艺术欧美| 国产精品久久久久aaaa| 成人h动漫精品一区二区| 国产网站一区二区三区| 国产在线观看免费一区| 精品国产区一区| 精品一区在线看| 精品国产免费一区二区三区香蕉| 麻豆91在线看| 欧美精品一区二区在线播放| 久久国产精品72免费观看| 久久夜色精品国产噜噜av| 国产呦精品一区二区三区网站| 欧美成人女星排行榜| 国产一区二区调教| 欧美国产丝袜视频| 99久久综合狠狠综合久久| 一区二区三区影院| 欧美日韩激情在线| 蜜臀av一级做a爰片久久| 精品国产一区二区三区av性色| 韩国三级电影一区二区| 亚洲国产成人午夜在线一区| 91一区一区三区| 午夜久久久久久久久久一区二区| 538在线一区二区精品国产| 精品中文字幕一区二区| 国产午夜精品福利| 色婷婷精品久久二区二区蜜臂av| 亚洲一区成人在线| 日韩一区二区精品在线观看| 国产综合久久久久影院| 国产精品久久福利| 欧美日韩视频在线一区二区| 久久精品二区亚洲w码| 日本一区二区三区在线观看| 色哟哟一区二区| 日韩电影一区二区三区| 国产亚洲一区二区三区四区| 色八戒一区二区三区|