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

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

?? os_core.c

?? SmallRTOSAVR.rar
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSFindNextRunningTask(void)
{
    OS_TCB_PRIO *tcbp;
    uint8 temp;

    temp = OSHighPrio;                      /* 從優(yōu)先級(jí)OSHighPrio處開始查找 */
    tcbp = &(OSTCBPrioTbl[temp]);
    while (1)
    {
        if (tcbp->TcbNext != NULL)          /* 相應(yīng)的優(yōu)先級(jí)有任務(wù)就緒       */
        {
            OSTCBHighRdy = tcbp->TcbNext;   /* 獲取將要運(yùn)行的任務(wù)的TCB      */
            OSHighPrio = temp;              /* 設(shè)置下次查找起始點(diǎn)           */
            if (OSTickCnt == 0)             /* 沒(méi)有任務(wù)需要時(shí)間服務(wù)延時(shí)     */
            if (tcbp->OSTCBDly != 0)        /* 新優(yōu)先級(jí)需要輪詢服務(wù)         */
            {
                                            /* 啟動(dòng)時(shí)間服務(wù)                 */
                OSTickCnt = tcbp->OSTCBDly;
                OSTickThisCnt = OSTickCnt;
            }
            break;
        }
        tcbp++;
        temp++;
    }
    return OS_NO_ERR;
}

/*********************************************************************************************************
** 函數(shù)名稱: OSCtxSw
** 功能描述: 堆棧處理函數(shù)
** 輸 入: 無(wú)
** 輸 出: 無(wú)
** 作 者: 焦進(jìn)星
** 日 期: 2007年12月30日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
          void OSCtxSw(void)  
{   
  asm("PUSH __zero_reg__ \n\t");  //R1入棧 
  asm("PUSH __tmp_reg__  \n\t");  //R0入棧
  asm("PUSH R16  \n\t");          //SREG入棧
  asm("PUSH R18  \n\t"); 
  asm("PUSH R19  \n\t"); 
  asm("PUSH R20  \n\t"); 
  asm("PUSH R21  \n\t"); 
  asm("PUSH R22  \n\t"); 
  asm("PUSH R23  \n\t"); 
  asm("PUSH R24  \n\t"); 
  asm("PUSH R25  \n\t"); 
  asm("PUSH R26  \n\t"); 
  asm("PUSH R27  \n\t"); 
  asm("PUSH R30  \n\t");     
  asm("PUSH R31  \n\t"); 
  
  asm("OSIntCtxSw : \n\t");   //當(dāng)中斷要求調(diào)度,直接進(jìn)入這里 
  
  asm("PUSH R28  \n\t");      //R28與R29入棧(中斷時(shí)未入棧)
  asm("PUSH R29  \n\t"); 
  
  asm("in   r28, 0x3d \n\t"); //這四條指令不可省
  asm("in   r29, 0x3e \n\t");
  asm("sbiw r28, 0x01 \n\t");
  asm("out  0x3e, r29 \n\t");
  asm("out  0x3d, r28 \n\t");
             
  OSTCBCur->OSTCBStkPtr=(uint8 *) SP; 	//堆棧指針變換
		  
  OSTCBCur  = OSTCBHighRdy;            
  
  SP=(uint16)(OSTCBCur->OSTCBStkPtr); 
  
  asm("in    r28, 0x3d \n\t");
  asm("in    r29, 0x3e \n\t");
  asm("adiw  r28, 0x01 \n\t");
  asm("out   0x3e, r29 \n\t");
  asm("out   0x3d, r28 \n\t");
  
  //寄存器出棧  
  asm("POP  R28  \n\t");   //這四條指令不可省  
  asm("POP  R29  \n\t");
  asm("POP  R31  \n\t");     
  asm("POP  R30  \n\t");
  asm("POP  R27  \n\t");     
  asm("POP  R26  \n\t");     
  asm("POP  R25  \n\t");     
  asm("POP  R24  \n\t"); 
  asm("POP  R23  \n\t");     
  asm("POP  R22  \n\t");     
  asm("POP  R21  \n\t");     
  asm("POP  R20  \n\t");
  asm("POP  R19  \n\t"); 
  asm("POP  R18  \n\t"); 
  asm("POP  R16  \n\t"); 
  asm("POP  __tmp_reg__  \n\t");      //R0 出棧 
  asm("POP  __zero_reg__ \n\t");      //R1 出棧 
  asm("OUT  __SREG__,R16 \n\t");      //恢復(fù)SREG 
  asm("RET               \n\t");      //返回,不主動(dòng)開中斷!!!
  //出棧完成 
}

/*********************************************************************************************************
** 函數(shù)名稱: OSIntEnter
** 功能描述: 中斷進(jìn)入處理函數(shù)
** 輸 入: 無(wú)
** 輸 出: 無(wú)
**         無(wú)
** 作 者: 焦進(jìn)星
** 日 期: 2007年12月30日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void   OSIntEnter(void)
{
 		SREGTEMP=*((uint8 * )SP+15);         /* 使已入堆棧的SREG置開中斷位 */
        SREGTEMP|=0x80;                             
        *((uint8 * )SP+15)=SREGTEMP;         /* 中斷入棧13個(gè)加子程序調(diào)用入棧2個(gè) */    
        OSIntNesting++;                      /* 中斷嵌套加一 */
	    sei();                               /* 開中斷 */
}

/*********************************************************************************************************
** 函數(shù)名稱: OSIntExit
** 功能描述: 中斷退出處理函數(shù),在此進(jìn)行中斷后的任務(wù)切換
** 輸 入: 無(wú)
** 輸 出: TRUE:需要進(jìn)行任務(wù)切換
**         FALSE:不需要進(jìn)行任務(wù)切換
** 作 者: 陳明計(jì)
** 日 期: 2005年6月10日
**-------------------------------------------------------------------------------------------------------
** 修改人: 焦進(jìn)星
** 日 期: 2007年12月30日
** 描 述: 移植到AVR系列芯片,適用于atmega16/32等
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSIntExit(void)

{
    OS_ENTER_CRITICAL();
    OsEnterSum = 0;                 /* 因?yàn)樵谥袛嘀校躁P(guān)中斷計(jì)數(shù)器為0 */
                /* 中斷嵌套處理 */
    if (OSIntNesting > 0)
    {
        OSIntNesting--;
    }
    if (OSIntNesting == 0)   
    {
        OSFindNextRunningTask();
        if (OSTCBCur != OSTCBHighRdy)
       {
         asm("POP  R17 \n\t");                  /* 去除因調(diào)用子程序而入棧的PC和因臨界而的入棧的R16 */
         asm("POP  R17 \n\t"); 
		 asm("POP  R16 \n\t"); 
		 asm("RJMP OSIntCtxSw  \n\t");          /* 跳到中斷的調(diào)度 */
        }
    }
    return 0;
}  

/*********************************************************************************************************
** 函數(shù)名稱: OSSched
** 功能描述: 非中斷的任務(wù)切換函數(shù)
** 輸 入: 無(wú)
** 輸 出: OS_NO_ERR
** 作 者: 陳明計(jì)
** 日 期: 2005年6月10日
**------------------------------------------------------------------------------------------------------
** 修改人: 焦進(jìn)星
** 日 期: 2007年12月30日
** 描 述: 移植到AVR系列芯片,適用于atmega16/32等
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8  OSSched(void)
{

    if (OSIntNesting == 0)              /* 是否是中斷中調(diào)用 */
    {
        OSFindNextRunningTask();
        if (OSTCBCur != OSTCBHighRdy)
        {
            OS_TASK_SW();
        }
    }
    return OS_NO_ERR;
}

/*********************************************************************************************************
** 函數(shù)名稱: SIGNAL(SIG_OVERFLOW0) 
** 功能描述: 系統(tǒng)定時(shí)中斷函數(shù)
** 輸 入: 無(wú)
** 輸 出: 無(wú)
**         無(wú)
** 作 者: 焦進(jìn)星
** 日 期: 2007年12月30日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        SIGNAL(SIG_OVERFLOW0)  
{ 
  OSIntEnter();
  OSTimeTick();  
  TCNT0=0xDD;     
  OSIntExit();
} 

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本青草视频在线怡红院| 亚洲午夜影视影院在线观看| 欧美日韩精品是欧美日韩精品| 成人小视频在线| 国产乱淫av一区二区三区| 免费成人小视频| 日韩精品乱码免费| 日韩成人av影视| 亚洲成av人片一区二区三区| 亚洲成人一区二区在线观看| 亚洲第一主播视频| 亚洲成a人片在线不卡一二三区| 香蕉成人啪国产精品视频综合网| 一个色在线综合| 午夜不卡在线视频| 麻豆成人综合网| 国产九色精品成人porny| 国产精品一区二区久久不卡| 成人亚洲一区二区一| 91免费在线看| 欧美日韩高清一区二区| 日韩一区二区不卡| 2017欧美狠狠色| 国产精品美女www爽爽爽| 亚洲日本va午夜在线电影| 亚洲成人av一区| 极品美女销魂一区二区三区| 国产不卡视频一区| 欧美中文一区二区三区| 欧美调教femdomvk| 欧美一区二区在线免费播放 | 91亚洲男人天堂| 欧美日韩国产高清一区二区三区 | 久久99久久99| 成人动漫一区二区在线| 欧洲精品中文字幕| 日韩一区二区三区电影在线观看 | 欧美无乱码久久久免费午夜一区| 在线成人av网站| 中文av一区二区| 视频一区欧美日韩| 成人黄页在线观看| 7777女厕盗摄久久久| 精品999久久久| 亚洲五码中文字幕| 精彩视频一区二区| 欧美曰成人黄网| 26uuu色噜噜精品一区二区| 中文字幕第一区| 蜜臀久久99精品久久久久久9 | 久久只精品国产| 亚洲国产一区二区视频| 国产在线精品一区二区| 欧美日产国产精品| 国产精品免费网站在线观看| 日本三级亚洲精品| 欧美中文字幕不卡| 中文字幕一区视频| 国产原创一区二区| 欧美日韩国产综合久久| 亚洲精品成人悠悠色影视| 成人一区二区三区| 国产欧美一区二区精品仙草咪| 蜜臀av一区二区在线免费观看| 欧美日韩一区在线观看| 综合久久久久综合| 97精品久久久久中文字幕 | jizzjizzjizz欧美| 国产亚洲精品免费| 国产精品一区二区在线观看不卡| 日韩欧美一区二区三区在线| 日日夜夜精品视频天天综合网| 在线免费av一区| 夜夜夜精品看看| 欧美视频一区二区| 五月开心婷婷久久| 7777精品伊人久久久大香线蕉的| 午夜精品成人在线视频| 欧美女孩性生活视频| 首页亚洲欧美制服丝腿| 51午夜精品国产| 久久国产精品免费| 2021中文字幕一区亚洲| 国产成人超碰人人澡人人澡| 中文字幕 久热精品 视频在线| 国产精品1区2区3区| 欧美电影免费提供在线观看| 亚洲欧美一区二区不卡| 91麻豆精品视频| 久久久青草青青国产亚洲免观| 精品无人码麻豆乱码1区2区| 欧美巨大另类极品videosbest | 99久久亚洲一区二区三区青草| 日韩一级片网站| 午夜欧美在线一二页| 成人av免费在线| 国产喂奶挤奶一区二区三区| 日韩av中文在线观看| 在线这里只有精品| 中文字幕视频一区二区三区久| 国产一区二区免费视频| 日韩视频一区二区在线观看| 亚洲成人免费电影| 欧洲精品在线观看| 玉足女爽爽91| 日本韩国精品一区二区在线观看| 欧美韩国日本一区| 国产精品1区二区.| 中文字幕国产一区二区| 国产电影一区二区三区| 久久久五月婷婷| 国产成人精品综合在线观看| 日本一区二区三区在线观看| 国产精品99久久久| 国产婷婷一区二区| 成人小视频免费观看| 国产精品久久久久影院色老大| 成人精品小蝌蚪| 中文字幕亚洲综合久久菠萝蜜| 色综合久久天天| 一级日本不卡的影视| 69堂成人精品免费视频| 婷婷激情综合网| 免费在线观看一区| 日韩美女视频在线| 日本伊人精品一区二区三区观看方式 | 亚洲激情六月丁香| 久久99精品一区二区三区| 3d成人h动漫网站入口| 性欧美疯狂xxxxbbbb| 色哟哟欧美精品| 亚洲韩国一区二区三区| 欧美日韩国产欧美日美国产精品| 亚洲二区在线观看| 懂色av中文字幕一区二区三区| 国产色爱av资源综合区| caoporen国产精品视频| 亚洲一区二区av在线| 欧美日韩免费一区二区三区视频| 亚洲国产精品99久久久久久久久| 成人网男人的天堂| 亚洲精品五月天| 国产成人小视频| 欧美经典三级视频一区二区三区| 懂色av中文一区二区三区| 亚洲精品国产品国语在线app| 欧美日韩精品一区二区| 视频在线观看91| 日本精品一区二区三区四区的功能| 亚洲视频小说图片| 欧美日韩大陆在线| 日韩激情在线观看| 欧美岛国在线观看| 激情成人午夜视频| 亚洲欧美日韩久久| 欧美精品自拍偷拍| 亚洲与欧洲av电影| 日韩精品中文字幕一区二区三区 | 成人av网在线| 老司机免费视频一区二区| 亚洲女与黑人做爰| 欧美精品一区二区在线观看| 欧美网站一区二区| caoporn国产一区二区| 国产高清在线观看免费不卡| 亚洲成av人片一区二区| 樱桃视频在线观看一区| 国产日韩欧美制服另类| 欧美一卡二卡三卡| 欧美日韩色综合| 96av麻豆蜜桃一区二区| 国产精品亚洲午夜一区二区三区| 午夜精品福利久久久| 一区二区在线观看免费| 国产精品情趣视频| 久久久久久久电影| 精品精品欲导航| 91精品午夜视频| 欧美理论电影在线| 欧美日韩中文字幕一区| 91丨porny丨最新| k8久久久一区二区三区 | 亚洲亚洲精品在线观看| 国产精品国产a级| 国产欧美一区二区三区沐欲| 久久精品一区二区三区四区| 欧美做爰猛烈大尺度电影无法无天| 国产69精品久久久久777| 成人午夜激情在线| 成人性生交大片免费看中文| 国产91精品免费| www.亚洲人| 91麻豆产精品久久久久久| 色婷婷国产精品久久包臀| 色噜噜狠狠一区二区三区果冻| 在线观看日韩国产| 欧美日韩一区二区电影| 欧美剧情电影在线观看完整版免费励志电影 | 久久色视频免费观看| 久久精品视频一区二区|