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

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

?? os_core.lst

?? PIC單片機(jī)的操作系統(tǒng)。picc18編譯過
?? LST
字號(hào):
     1: // os_core.c
     2: // 名稱:mpOS ; 版本:ver 1.1
     3: // 功能: 微動(dòng)力公司開發(fā)的操作系統(tǒng),面向PIC18F系列單片機(jī)
     4: // 其它: 通過低級(jí)中斷服務(wù)程序進(jìn)行任務(wù)調(diào)度
     5: //       這個(gè)版本是協(xié)作型的調(diào)度方式,帶有延時(shí)功能
     6: //       每個(gè)用戶任務(wù)占用7個(gè)字節(jié)內(nèi)存
     7: 
     8: #include "os_core.h"
     9: 
    10: void interrupt HI_ISR(void)
    11: {
    12: unsigned char ibyte,itemp;
    13: 
    14:     if (RCIE&&RCIF)     // 異步通信接收,數(shù)據(jù)放入二級(jí)緩沖
    15:     {
    16:         ibyte=RCREG;
    17:         if (FERR||OERR)
    18:         {
    19:                         
    20:         }
    21:         else
    22:         {
    23:             itemp=osCommBuff.SavePosit;
    24:             osCommBuff. buff[itemp]=ibyte;
    25:             if (++itemp >=osCommBuffSize)
    26:             {
    27:                 itemp=0;  // 二級(jí)緩沖是FIFO的存儲(chǔ)方式
    28:             }
    29:             if (itemp==osCommBuff.GetPosit)
    30:             {
    31:                     bCommBuffFull=1;  // 緩沖區(qū)滿
    32:                 }
    33:             osCommBuff.SavePosit=itemp;
    34:             if (ibyte==0x7e) // 如果接收同步碼,激活協(xié)議解釋任務(wù)
    35:             {
    36:                     ;
    37:                 }
    38:         }        
    39:     }
    40: }
    41: 
    42: void interrupt low_priority LOW_ISR(void)
    43: {
    44: static unsigned char state,id;
    45: 
    46:     if(!bOSSCH&&TMR1H==0)
    47:     {
    48:             if (TMR1IE&&TMR1IF) // 操作系統(tǒng)時(shí)鐘基 10ms
    49:             {
    50:                 for (id=0;id<OS_TASKS;id++)
    51:                 {
    52:                     if (TCB[id].osWaitTick)
    53:                     {
    54:                         TCB[id].osWaitTick --;
    55:                         if (TCB[id].osWaitTick==0)
    56:                         {
    57:                             TCB[id].osTaskState=osTaskSta_Ready ;
    58:                         }
    59:                     }
    60:                 }
    61:             }
    62:     }
    63: 
    64: // 任務(wù)調(diào)度
    65:         TMR1IF=0;
    66:         bOSSCH=0;
    67:     //保存當(dāng)前正在運(yùn)行的任務(wù)指針
    68:     TCB[osRunningTask].osTaskStackTop=(unsigned int)(TOSH<<8)+TOSL;
    69:         osRunningTask=OS_TASKS;
    70:     for (id=0;id<OS_TASKS;id++)
    71:     {
    72:         state=TCB[id].osTaskState;
    73:         if (state==osTaskSta_Ready)   //就緒的任務(wù),優(yōu)先級(jí)高的先運(yùn)行
    74:         {
    75:             // 要運(yùn)行的任務(wù)指針入棧頂
    76:             osRunningTask=id;
    77:                         break;
    78:         }
    79:     }
    80:     osEnterOsFunction();    
    81:     TOSH=TCB[osRunningTask].osTaskStackTop>>8;
    82:     TOSL=TCB[osRunningTask].osTaskStackTop; 
    83:     osExitOsFunction();
    84: }
    85: 
    86: void osDelay(unsigned int ticks)
    87: {
    88:     TCB[osRunningTask].osWaitTick=ticks;
    89:     TCB[osRunningTask].osTaskState =osTaskSta_Delay;
    90: }
    91: 
    92: void osExitTask(void)
    93: {
    94:     TCB[osRunningTask].osWaitTick=0;
    95:     TCB[osRunningTask].osTaskState =osTaskSta_Stop;
    96:     TCB[osRunningTask].osTaskStackTop=TCB[osRunningTask].osTaskPtr;
    97: }
    98: 
    99: void osInit(void)
   100: {
   101:     IPEN=1;
   102:     TMR1IP=0;
   103:     
   104:     TMR1ON=1;
   105:     TMR1IE=1;
   106:     
   107:     GIEL=1;
   108:     GIEH=1;
   109:     osRunningTask=OS_TASKS;
   110: }
   111: 
   112: void osCreateTask(void *taskPtr, unsigned char TaskID)
   113: {
   114:         TCB[TaskID].osTaskPtr=(unsigned int)taskPtr;
   115:     TCB[TaskID].osTaskStackTop=TCB[TaskID].osTaskPtr;    
   116:     TCB[TaskID].osTaskID=TaskID;
   117: }
   118: 
   119: void osTaskIdle(void)
   120: {
   121:     while (1)
   122:     {
   123:         GIEL=1;
   124:         GIE=1;
   125:         GIEH=1;
   126:         clrwdt();
   127:         osSch();
   128:     }
   129: }
   130: unsigned char OpenComm(unsigned char RxTx )
   131: {
   132: 
   133:         if (RxTx==0x01) // 只發(fā)送
   134:         {
   135:                 return 1;
   136:         }
   137:         else if (RxTx==0x10) //只接收
   138:         {
   139:                 return 1;
   140:         }
   141:         else if (RxTx==0x11) // 發(fā)送和接收
   142:         {
   143:                 return 1;
   144:         }       
   145:         else // 參數(shù)錯(cuò)誤
   146:         {
   147:                 return 0;       
   148:         }
   149: }
   150: 
   151: void CloseComm(void)
   152: {
   153: 
   154: }
   155: 
   156: unsigned char 
   157: osGetCommBuff(unsigned char bytes,unsigned char *ptr)
   158: {
   159: unsigned char i,j;
   160:     if (bytes==0) return 0;
   161:     if (osCommBuff.SavePosit==osCommBuff.GetPosit)  return 0;
   162:     if (osCommBuff.SavePosit>osCommBuff.GetPosit)
   163:     {
   164:         bytes= osCommBuff.SavePosit-osCommBuff.GetPosit;
   165:     }
   166:     else
   167:     {
   168:         bytes= osCommBuffSize-osCommBuff.GetPosit+osCommBuff.SavePosit;
   169:     }
   170:     i=bytes;
   171:     do{
   172:         j=osCommBuff.GetPosit;
   173:         *ptr=osCommBuff.buff[j];
   174:         osCommBuff.GetPosit ++;
   175:         if (osCommBuff.GetPosit>=osCommBuffSize) osCommBuff.GetPosit=0;
   176:     }while(--i);
   177:     return bytes;
   178: }
   179: 
   180: unsigned char osChkCommBuff(void)
   181: {
   182: unsigned char bytes;
   183:     if (osCommBuff.SavePosit>=osCommBuff.GetPosit)
   184:     {
   185:         bytes= osCommBuff.SavePosit>=osCommBuff.GetPosit;
   186:     }
   187:     else
   188:     {
   189:         bytes= osCommBuffSize-osCommBuff.GetPosit+osCommBuff.SavePosit;
   190:     }
   191:     return bytes;
   192: }
   193: 
   194: unsigned char
   195: Wr45DB041(unsigned char *addr,unsigned char *buff,unsigned char cnt)
   196: {
   197: 
   198: 
   199:     return 1;
   200: }
   201: 
   202: unsigned char
   203: Rd45DB041(unsigned char *addr,unsigned char *buff,unsigned char cnt)
   204: {
   205: 
   206: 
   207:     return 1;
   208: }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区私人影院日本| 26uuu亚洲综合色欧美| 久久欧美一区二区| 亚洲国产一区二区三区| 91高清在线观看| 亚洲综合成人网| 欧美精品三级日韩久久| 久久www免费人成看片高清| 欧美一区二区在线免费播放 | 国产欧美日韩综合| 青青草国产精品亚洲专区无| 91精品免费观看| 日本不卡的三区四区五区| 欧美一级久久久| 成人一级片网址| 亚洲免费大片在线观看| 91精品在线一区二区| 男人操女人的视频在线观看欧美| 日韩精品一区在线| 成人免费av在线| 亚洲福利视频三区| 久久久久久一级片| 91黄色在线观看| 国产成人午夜99999| 亚洲免费观看高清完整 | 奇米影视一区二区三区| 国产日韩欧美精品综合| 93久久精品日日躁夜夜躁欧美| 亚洲一区二区视频在线观看| 国产日韩欧美精品一区| 欧美伊人久久大香线蕉综合69| 激情综合五月天| 五月婷婷久久综合| 亚洲欧美一区二区三区久本道91| 欧美一卡在线观看| 欧洲色大大久久| 岛国av在线一区| 国产乱理伦片在线观看夜一区| 亚洲超碰精品一区二区| 成人免费在线视频观看| 久久嫩草精品久久久精品一| 欧美喷潮久久久xxxxx| 欧洲精品中文字幕| av中文字幕亚洲| 成人高清视频免费观看| 国产一区二区三区不卡在线观看 | 中文字幕亚洲不卡| 国产日韩欧美一区二区三区综合| 欧美一区二区播放| 91.麻豆视频| 欧美二区三区的天堂| 欧美一区二区三区视频在线观看| 欧美在线播放高清精品| 在线免费观看日本欧美| 欧美视频一区二区三区四区| 欧美老肥妇做.爰bbww| 欧美疯狂做受xxxx富婆| 91精品国产综合久久久久久漫画 | 欧美一区二区三区在| 日韩欧美一二区| 欧美激情一二三区| 一区二区三区日韩欧美| 日本va欧美va瓶| 免费在线一区观看| 国产一区二区在线免费观看| 波波电影院一区二区三区| 一道本成人在线| 欧美日产在线观看| 欧美理论片在线| 精品日本一线二线三线不卡| 久久久久免费观看| 一区二区免费在线播放| 久久精品国产亚洲aⅴ| jlzzjlzz亚洲日本少妇| 日韩一区二区电影在线| 成人免费在线视频| 麻豆中文一区二区| 不卡的av电影| 国产人久久人人人人爽| 七七婷婷婷婷精品国产| 91免费视频观看| 久久精品欧美一区二区三区麻豆 | 久久久久久久久久久黄色| 亚洲精选一二三| 成人小视频免费在线观看| 91麻豆精品国产91久久久久久| 中文字幕在线一区二区三区| 国产美女主播视频一区| 欧美一级电影网站| 亚洲h动漫在线| 欧美性一级生活| 亚洲理论在线观看| 99re视频精品| 亚洲免费观看在线视频| 99视频一区二区| 国产精品―色哟哟| 99视频在线观看一区三区| 国产日韩欧美亚洲| 国产一区二区三区| 国产视频一区在线播放| 国产91精品在线观看| 欧美国产亚洲另类动漫| 成人网在线免费视频| 国产精品国产三级国产专播品爱网 | 成人国产精品免费网站| 亚洲日穴在线视频| 欧美视频在线播放| 午夜免费久久看| 久久色在线视频| 成人免费视频app| 亚洲一区二区三区四区中文字幕 | 色婷婷综合久久久中文字幕| 亚洲最大的成人av| 91精品国模一区二区三区| 免费观看一级欧美片| 国产午夜精品一区二区三区四区| 丰满放荡岳乱妇91ww| 一个色综合av| 久久精品一级爱片| 色综合久久六月婷婷中文字幕| 亚洲一区视频在线| 久久久.com| 91精品国产一区二区人妖| 成人福利视频网站| 免费精品视频在线| 亚洲午夜在线观看视频在线| 亚洲国产电影在线观看| 69堂国产成人免费视频| 91色乱码一区二区三区| 国产乱人伦偷精品视频不卡| 亚洲国产精品精华液网站| 久久综合久久久久88| 色综合天天综合网国产成人综合天 | 欧美日韩精品三区| 粉嫩av一区二区三区| 亚洲色图视频网| 日韩精品中午字幕| 91久久精品网| 国产福利一区二区三区在线视频| 亚洲欧美电影院| 精品国产乱码久久久久久图片| 日本道免费精品一区二区三区| 亚洲一二三四久久| 亚洲va国产天堂va久久en| 久久精品亚洲精品国产欧美 | 亚洲欧洲日产国码二区| 精品剧情v国产在线观看在线| 99久久99久久综合| 国产麻豆一精品一av一免费| 亚洲电影你懂得| 亚洲欧美自拍偷拍色图| 国产亚洲福利社区一区| 精品国产sm最大网站| 欧美精品电影在线播放| 色综合天天综合网国产成人综合天| 国产精品影视在线| 国产成人精品亚洲午夜麻豆| 国产一区二三区| 成人午夜视频网站| 懂色av一区二区三区蜜臀| 国产一区二区伦理片| 蜜桃精品在线观看| 精品一区二区三区免费视频| 蜜桃视频免费观看一区| 久久狠狠亚洲综合| 亚洲影视资源网| 青青草国产精品亚洲专区无| 久久精品av麻豆的观看方式| 国产另类ts人妖一区二区| 国产一区二区美女| 在线观看免费一区| 日韩免费视频一区| 成人欧美一区二区三区小说| 亚洲国产欧美另类丝袜| 九九九久久久精品| 91老司机福利 在线| 在线观看视频一区| 久久嫩草精品久久久久| 一区二区三区小说| 精品一区二区免费| 99久久国产综合色|国产精品| 欧美一区二区三区在线电影| 国产精品久久久久久久浪潮网站| 亚洲成av人片一区二区| 日本欧美加勒比视频| 不卡的av电影| 亚洲视频综合在线| 亚洲一二三区不卡| 99久久精品国产观看| 欧美韩国一区二区| 国产一区二区调教| 欧美人妇做爰xxxⅹ性高电影| 中文字幕中文字幕一区二区| 另类小说色综合网站| 欧美日韩国产一级片| 亚洲精品美腿丝袜| 成人午夜在线免费| 日本一区二区三区dvd视频在线| 国产a区久久久| 国产日韩欧美一区二区三区综合|