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

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

?? cpu_c.c

?? stm32+ucos-ii
?? C
?? 第 1 頁 / 共 3 頁
字號:
*/

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);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一卡二卡| 欧美年轻男男videosbes| 欧洲另类一二三四区| 欧美成人vr18sexvr| 一区二区三区四区蜜桃 | 国产乱人伦偷精品视频不卡| 一本一本久久a久久精品综合麻豆| 欧美大胆人体bbbb| 亚洲国产成人va在线观看天堂| 国产精品一卡二卡在线观看| 91麻豆精品国产91久久久久久久久| 国产欧美日韩精品在线| 久草热8精品视频在线观看| 在线看日韩精品电影| 国产精品高清亚洲| 国产91在线观看丝袜| 精品国产自在久精品国产| 亚洲成人资源在线| 在线观看欧美精品| 亚洲精品视频在线观看免费| 成人黄动漫网站免费app| 久久久国产精华| 国产精品一区免费视频| 国产日韩欧美麻豆| 国产精品99久久久久久似苏梦涵| 日韩精品自拍偷拍| 久久成人麻豆午夜电影| 精品国产乱码久久久久久免费 | 欧美男同性恋视频网站| 一区二区三区精品在线| 欧美伊人久久大香线蕉综合69| 亚洲国产经典视频| 99久久伊人久久99| 成人免费一区二区三区视频| av在线综合网| 亚洲三级理论片| 欧美日韩三级视频| 日本亚洲欧美天堂免费| 欧美一级搡bbbb搡bbbb| 久久99在线观看| 国产日产欧美一区二区视频| 粉嫩av一区二区三区| 亚洲美女区一区| 欧美三级电影一区| 日韩成人av影视| 久久午夜电影网| 99视频在线观看一区三区| 亚洲美女电影在线| 欧美精品亚洲二区| 蜜桃av一区二区三区电影| 日韩精品在线网站| 99精品黄色片免费大全| 亚洲国产成人av网| 久久久久青草大香线综合精品| 成人午夜激情片| 亚洲一区二区欧美| 欧美xxxx老人做受| 成人av在线电影| 亚州成人在线电影| 久久久亚洲精品石原莉奈| 91香蕉国产在线观看软件| 日韩av中文字幕一区二区| 久久久久久久综合狠狠综合| 国产一级精品在线| 亚洲国产毛片aaaaa无费看| 日韩美女一区二区三区四区| 97se亚洲国产综合自在线| 天天做天天摸天天爽国产一区| 久久久青草青青国产亚洲免观| 91在线视频在线| 久久99精品久久久久| 亚洲精品五月天| 国产亚洲午夜高清国产拍精品 | 亚洲一区二三区| 日韩一区二区三区在线| www.在线欧美| 蜜桃久久久久久| 综合欧美亚洲日本| 91精品国产麻豆| 91网站最新地址| 久久激五月天综合精品| 有坂深雪av一区二区精品| 欧美不卡123| 欧美三级视频在线播放| 成人手机电影网| 免费在线观看一区二区三区| 自拍偷在线精品自拍偷无码专区 | 欧美伊人久久久久久午夜久久久久| 美腿丝袜亚洲综合| 亚洲一区二区精品视频| 国产色婷婷亚洲99精品小说| 91麻豆精品91久久久久同性| www.在线成人| 国产精品正在播放| 奇米影视在线99精品| 美国欧美日韩国产在线播放| 日韩一区欧美一区| 国产亚洲欧美一级| 日韩欧美自拍偷拍| 欧美三日本三级三级在线播放| 成人18视频日本| 国产精华液一区二区三区| 免费一级片91| 首页综合国产亚洲丝袜| 一二三区精品福利视频| 中文字幕一区二区三区在线播放| 久久久国产午夜精品| 精品国产3级a| 欧美精品一区视频| 日韩亚洲电影在线| 日韩欧美一级二级三级 | 欧美性猛片aaaaaaa做受| 97精品超碰一区二区三区| 国产69精品久久99不卡| 国内欧美视频一区二区| 精品一区二区三区的国产在线播放 | 一区二区三区欧美日| 亚洲欧美在线aaa| 亚洲乱码中文字幕综合| 中文字幕综合网| 亚洲天堂免费看| 亚洲精品五月天| 午夜精品福利在线| 首页国产丝袜综合| 精品午夜久久福利影院| 国产在线精品免费av| 国产精品中文有码| 波多野结衣在线一区| 91久久精品国产91性色tv| 日本高清不卡在线观看| 91超碰这里只有精品国产| 日韩一级在线观看| 欧美精品一区二区三区一线天视频| 欧美一级专区免费大片| 久久精品一区二区三区四区| 国产精品私房写真福利视频| 亚洲精品午夜久久久| 性做久久久久久久免费看| 美女mm1313爽爽久久久蜜臀| 国产999精品久久| 色美美综合视频| 日韩欧美亚洲另类制服综合在线| 欧美mv日韩mv亚洲| 国产精品久久午夜夜伦鲁鲁| 亚洲靠逼com| 另类小说一区二区三区| 成人亚洲一区二区一| 在线免费视频一区二区| 日韩三级视频在线看| 国产欧美va欧美不卡在线 | 欧美国产1区2区| 亚洲成人免费在线观看| 美女诱惑一区二区| 成人午夜av电影| 欧美日韩精品系列| 久久久久久久综合色一本| 亚洲亚洲人成综合网络| 韩国中文字幕2020精品| 91丨porny丨蝌蚪视频| 欧美一区二区大片| 亚洲免费观看高清完整版在线观看| 五月天国产精品| heyzo一本久久综合| 91精品国产日韩91久久久久久| 国产精品久久午夜| 美女网站视频久久| 日本道免费精品一区二区三区| 欧美成人高清电影在线| 亚洲一区自拍偷拍| 国产成人午夜99999| 欧美一级生活片| 樱桃视频在线观看一区| 国产一区二区三区高清播放| 欧美日韩一卡二卡| 中文字幕在线不卡| 久久激五月天综合精品| 欧美日韩二区三区| 亚洲美女淫视频| 东方欧美亚洲色图在线| 欧美成人三级在线| 亚洲电影中文字幕在线观看| 成人av午夜影院| 久久噜噜亚洲综合| 免费观看成人av| 欧美浪妇xxxx高跟鞋交| 亚洲精选免费视频| 不卡影院免费观看| 国产精品蜜臀av| 国产成人综合在线| 精品国产百合女同互慰| 免费成人结看片| 欧美一级黄色录像| 日韩电影在线一区二区三区| 欧美日韩一区二区三区高清| 亚洲欧美另类在线| 99re这里只有精品视频首页| 亚洲欧美在线aaa| 91日韩精品一区| 亚洲乱码精品一二三四区日韩在线| 成人av电影在线观看|