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

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

?? arm_00_ostaskmanager.lst

?? 是實時操作系統uc/os的原代碼,寫了頭文件
?? LST
字號:
ARM COMPILER V2.50a,  ARM_00_OSTaskManager                                                 28/08/06  09:18:54  PAGE 1   


ARM COMPILER V2.50a, COMPILATION OF MODULE ARM_00_OSTaskManager
OBJECT MODULE PLACED IN ARM_00_OSTaskManager.OBJ
COMPILER INVOKED BY: C:\Keil\ARM\BIN\CA.exe ARM_00_OSTaskManager.c THUMB DEBUG TABS(4) 

stmt  level    source

    1          /**********************************************************************************************
    2            ARM_00_OSTaskManager.c file
    3             
    4            作者:Computer-lov
    5            建立日期:2006-5-13
    6            修改日期:2006-5-15
    7            最后修改時間:2006-08-25
    8            版本:V1.0
    9            版權所有,盜版必究。
   10            任何技術問題可到我的博客上留言:    http://computer00.21ic.org
   11            Copyright(C) Computer-lov 2006-2016
   12            All rights reserved
   13          **********************************************************************************************/
   14          
   15          
   16          #include "CPU.H"
   17          
   18          #include "my_type.h"
   19          
   20          #include "ARM_00_OS_TaskSwitch.H"
   21          #include "ARM_00_OS_Core.H"
   22          #include "UART.H"
   23          #include "KEYS.H"
   24          #include "Task.h"
   25          #include "ADC.H"
   26          
   27          /**********************************************************************************************
   28          功能:顯示任務的PID號。
   29          入口參數1:pcb。要顯示的任務的進程控制塊地址。
   30          返回:無。
   31          **********************************************************************************************/
   32          void DisplayPID(OSpcb * pcb)
   33          {
   34   1       print_uint32((pcb->PID)-0x40000000);  //顯示任務ID號(PID)。
   35   1                                             //由于LPC213X系列的RAM起始地址在0x40000000,減掉顯示時會比較短
   36   1                                             //當然,不減也無所謂。
   37   1       send_a_byte(' ');
   38   1      }
   39          //////////////////////////////////End of function//////////////////////////////////////////////
   40          
   41          
   42          /**********************************************************************************************
   43          功能:顯示任務的CPU使用率。
   44          入口參數1:pcb。要顯示的任務的進程控制塊地址。
   45          返回:無。
   46          **********************************************************************************************/
   47          void DisplayCPU(OSpcb * pcb)
   48          {
   49   1       uint32 CpuUsedRatio;
   50   1      
   51   1       CpuUsedRatio=((pcb->RunTimeInThisRefreshPeriod)*100+TotalTime/2)/TotalTime;  //計算CPU使用率。加TotalTim
             -e/2是為了四舍無入
   52   1       pcb->TotalRunTime+=pcb->RunTimeInThisRefreshPeriod;  //累加任務的CPU使用總時間
   53   1       pcb->RunTimeInThisRefreshPeriod=0;   //清本次統計的時間
   54   1       if(CpuUsedRatio>=100)  //如果統計的結果大于100
   55   1        {
   56   2         CpuUsedRatio=99;  //結果為99
   57   2        }
   58   1       send_a_byte((CpuUsedRatio/10)+'0');  //顯示結果
ARM COMPILER V2.50a,  ARM_00_OSTaskManager                                                 28/08/06  09:18:54  PAGE 2   

   59   1       send_a_byte((CpuUsedRatio%10)+'0');
   60   1       send_a_byte('%');
   61   1       send_a_byte(' ');
   62   1       send_a_byte(' ');
   63   1      }
   64          //////////////////////////////////End of function//////////////////////////////////////////////
   65          
   66          
   67          /**********************************************************************************************
   68          功能:顯示任務使用CPU的總時間。
   69          入口參數1:pcb。要顯示的任務的進程控制塊地址。
   70          返回:無。
   71          **********************************************************************************************/
   72          void DisplayCPUTime(OSpcb * pcb)
   73          {
   74   1       uint32 Time;   //用來保存時間
   75   1       uint8 H,M,S;   //用來保存時,分,秒
   76   1       
   77   1       Time=(uint32)((pcb->TotalRunTime)/((MaxOfTimer0+1)*100));  //計算總時間。結果為多少秒。
   78   1       S=Time%60;   //計算秒
   79   1       Time/=60;
   80   1       M=Time%(60);  //計算分
   81   1       Time/=60;
   82   1       H=Time%(24);  //計算時
   83   1       
   84   1       send_a_byte((H/10)+'0'); //顯示時
   85   1       send_a_byte((H%10)+'0');
   86   1       send_a_byte(':');
   87   1       send_a_byte((M/10)+'0'); //顯示分
   88   1       send_a_byte((M%10)+'0');
   89   1       send_a_byte(':');
   90   1       send_a_byte((S/10)+'0'); //顯示秒
   91   1       send_a_byte((S%10)+'0');
   92   1       send_a_byte(' ');
   93   1       send_a_byte(' ');
   94   1      }
   95          //////////////////////////////////End of function//////////////////////////////////////////////
   96          
   97          
   98          /**********************************************************************************************
   99          功能:顯示內存使用量
  100          入口參數1:pcb。要顯示的任務的進程控制塊地址。
  101          返回:無。
  102          **********************************************************************************************/
  103          void DispalyMemroyUsed(OSpcb * pcb)
  104          {
  105   1       print_uint32(pcb->StackLength);   //顯示內存使用量
  106   1       send_a_byte('B');               //顯示單位
  107   1       send_a_byte(' ');
  108   1       send_a_byte(' ');
  109   1      }
  110          //////////////////////////////////End of function//////////////////////////////////////////////
  111          
  112          
  113          /**********************************************************************************************
  114          功能:顯示任務所處的狀態。
  115          入口參數1:pcb。要顯示的任務的進程控制塊地址。
  116          返回:無。
  117          **********************************************************************************************/
  118          void DispalyStatus(OSpcb * pcb)
  119          {
  120   1       switch(pcb->Status)    //根據狀態來顯示
  121   1        {
  122   2         case OSInReadyStatus:      prints("Ready  ",0);break;  //就緒態
  123   2         case OSInDelayStatus:      prints("Delay  ",0);break;  //延時態
  124   2         case OSInSuspendStatus:    prints("Suspend",0);break;  //掛起態
ARM COMPILER V2.50a,  ARM_00_OSTaskManager                                                 28/08/06  09:18:54  PAGE 3   

  125   2         default:break;
  126   2        }
  127   1      }
  128          //////////////////////////////////End of function//////////////////////////////////////////////
  129          
  130          
  131          
  132          #define REF_VOL  2.475  /*LPC213X 開發板上參考電壓為1K電阻跟3K電阻分壓3.3V所得,為2.475V*/
  133          
  134          //////////////////////////////顯示內核電壓////////////////////////////////////
  135          void DisplayCoreVoltage(void)
  136          {
  137   1       uint16 value;
  138   1       uint32 result;
  139   1       uint8 s_result[10];
  140   1      
  141   1       prints("ADC3 voltage: ",0);
  142   1       value=read_ADC(3);           //通道ADC3的電壓
  143   1       result=REF_VOL*10000;        //換算成電壓,結果為多少mV的10倍
  144   1       result=result*value/1023;
  145   1       s_result[9]=0;               //將結果轉換成字符串
  146   1       s_result[8]=' ';
  147   1       s_result[7]='V';
  148   1       s_result[6]='m';
  149   1       s_result[5]='0'+result%10;
  150   1       result/=10;
  151   1       s_result[4]='.';
  152   1       s_result[3]='0'+result%10;
  153   1       result/=10;
  154   1       s_result[2]='0'+result%10;
  155   1       result/=10;
  156   1       s_result[1]='0'+result%10;
  157   1       result/=10;
  158   1       s_result[0]='0'+result%10;
  159   1       prints("    ",0);
  160   1       prints(s_result,1);         //顯示電壓
  161   1      }
  162          //////////////////////////////////////////////////////////////////////////////
  163          
  164          //////////////////////////////////顯示內核溫度////////////////////////////////
  165          void DisplayCoreTemperature(void)
  166          {
  167   1       prints("Core temperature: ",0);
  168   1       prints("Sorry! LPC213x MCU have no Temperature Sensor!",1);
  169   1       prints("",1);
  170   1      }
  171          //////////////////////////////////////////////////////////////////////////////
  172          
  173          
  174          /**********************************************************************************************
  175          功能:任務管理器。
  176          入口參數:無。
  177          返回:無。
  178          備注:優先級被設置為1,處于高的優先級。
  179          **********************************************************************************************/
  180          void OSTaskManager(void)
  181          {
  182   1       OSpcb * pcb;    //
  183   1       uint32 TempTime;    //TempTime用來保存 在顯示任務管理器信息所花費的時間
  184   1       uint32 DelayCount=RefreshPeriod;   //延時多少個時鐘節拍刷新一次任務管理器
  185   1       uint32 * p;     //
  186   1       uint32 i;       //
  187   1       uint32 CpuUsedRatio;   //保存CPU使用率
  188   1       uint32 nBytes;         //保存申請內存的字節數
  189   1       
  190   1       uint32 PrinterDeviceAddr;   //打印機設備的入口地址
ARM COMPILER V2.50a,  ARM_00_OSTaskManager                                                 28/08/06  09:18:54  PAGE 4   

  191   1       
  192   1       PrinterDeviceAddr=OSGetDeviceAddr(OS_PRINTER_DEVICE_ID);  //獲取打印機設備的入口地址
  193   1       OSRequestDevice(PrinterDeviceAddr,0);   //申請使用打印機
  194   1       
  195   1       prints("",1);                   //顯示任務啟動
  196   1       prints(OSCurrentPcb->Title,0);
  197   1       prints(" Start..........................",1);
  198   1       
  199   1       OSFreeDevice(PrinterDeviceAddr);   //釋放打印機
  200   1       
  201   1       ADC_init();   //ADC初始化。用來檢測內核電壓以及溫度
  202   1      
  203   1       while(1)
  204   1        {
  205   2         OSTaskDelay(DelayCount);    //延時DelayCount個時鐘節拍
  206   2         
  207   2         pcb=OSCurrentPcb;       //當前運行的任務。即任務管理器本身
  208   2         TempTime=pcb->RunTimeInThisRefreshPeriod;   //保存這時的時間
  209   2         
  210   2         OSRequestDevice(PrinterDeviceAddr,0);   //申請使用打印機
  211   2         
  212   2         prints("",1);       //換行
  213   2         prints("",1);
  214   2         prints("TaskName              PID  CPU   CPUTime    MemoryUsed   Status",1);   //顯示表頭
  215   2         prints("------------  -----------  ---  ---------   ----------   ------",1);
  216   2         
  217   2         nBytes=OSSizePerBlock*(((TaskAmount+1)*sizeof(p)+OSSizePerBlock-1)/OSSizePerBlock);  //計算需要申請多

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产二区国产一区在线观看| 成人免费视频一区| 国产精品污网站| 欧美午夜在线一二页| 国产69精品久久99不卡| 日本伊人精品一区二区三区观看方式 | 国产精品久久夜| 欧美精品少妇一区二区三区| 国产成人8x视频一区二区| 午夜视黄欧洲亚洲| 日韩久久一区二区| 国产日产亚洲精品系列| 欧美成人激情免费网| 欧美日韩视频在线一区二区 | 国产精品99久久久久久有的能看| 亚洲乱码中文字幕| 国产女同互慰高潮91漫画| 精品国产一区久久| 宅男在线国产精品| 欧美日韩另类国产亚洲欧美一级| 97se亚洲国产综合自在线不卡| 国产一区二区0| 韩国av一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 久久影院视频免费| 日韩三级视频中文字幕| 欧美视频第二页| 欧美在线免费播放| 日本韩国一区二区三区视频| av在线不卡电影| 国产伦精品一区二区三区免费| 寂寞少妇一区二区三区| 麻豆91在线看| 久久成人免费日本黄色| 毛片av一区二区| 男男视频亚洲欧美| 毛片基地黄久久久久久天堂| 秋霞午夜av一区二区三区| 无码av免费一区二区三区试看| 亚洲自拍偷拍综合| 亚洲国产wwwccc36天堂| 亚洲最大色网站| 亚洲一级不卡视频| 婷婷开心激情综合| 喷水一区二区三区| 国产尤物一区二区| 国产69精品久久久久777| 成人激情文学综合网| 91在线国产福利| 91免费版在线| 欧美性色黄大片| 在线综合亚洲欧美在线视频| 91精品国产乱| 精品精品国产高清a毛片牛牛| 久久亚洲一级片| 国产日韩欧美高清| 亚洲视频狠狠干| 亚洲成人久久影院| 久久99精品久久久久婷婷| 国产成人免费视频网站| 欧美在线一区二区| 亚洲一区中文日韩| 亚洲一区二区欧美| 亚洲国产欧美一区二区三区丁香婷| 自拍偷在线精品自拍偷无码专区| 亚洲黄色尤物视频| 日韩电影在线观看电影| 国产乱码精品一区二区三区忘忧草 | 麻豆久久一区二区| 国产精品1区二区.| 91黄视频在线| 日韩精品自拍偷拍| 一色桃子久久精品亚洲| 亚洲国产日韩av| 久久99久久99| 91精品1区2区| 欧美不卡一二三| 亚洲男人电影天堂| 另类欧美日韩国产在线| 99re66热这里只有精品3直播| 欧美美女一区二区| 国产日产精品1区| 午夜精品免费在线| 国产成人午夜99999| 欧美日韩免费一区二区三区 | 91美女视频网站| 这里只有精品视频在线观看| 国产精品欧美久久久久无广告| 午夜免费久久看| 不卡一区二区在线| 91精品免费观看| 亚洲欧美一区二区三区久本道91| 青娱乐精品在线视频| 不卡的电影网站| 日韩一级大片在线| 亚洲精品成人a在线观看| 国产米奇在线777精品观看| 欧美美女直播网站| 国产精品麻豆一区二区| 麻豆国产精品视频| 欧美日韩一区二区三区视频 | 久久午夜国产精品| 调教+趴+乳夹+国产+精品| 99re这里只有精品首页| 久久九九影视网| 老司机精品视频在线| 精品视频在线免费观看| 亚洲欧美在线aaa| 91视视频在线直接观看在线看网页在线看| 欧洲亚洲国产日韩| 中文字幕一区二区三区四区不卡| 久久精品国内一区二区三区| 欧美日韩国产高清一区二区| 亚洲视频 欧洲视频| 国产91富婆露脸刺激对白| 精品女同一区二区| 麻豆精品一区二区| 欧美一区二区三区免费| 婷婷综合在线观看| 欧美亚洲日本国产| 亚洲欧美偷拍另类a∨色屁股| 国产成人免费在线观看| 久久精品一区蜜桃臀影院| 久久国内精品视频| 日韩精品一区二区三区四区视频| 日韩电影在线观看一区| 欧美精品乱码久久久久久| 亚洲高清免费观看| 在线观看一区二区视频| 一区二区三区蜜桃| 色老汉av一区二区三区| 亚洲色图欧洲色图| 91在线码无精品| 亚洲欧美一区二区久久| 色婷婷综合久久久| 亚洲一区在线观看视频| 欧美性生交片4| 天天亚洲美女在线视频| 51精品秘密在线观看| 日韩国产精品大片| 日韩一区二区在线看| 黄色成人免费在线| 久久久国产精品麻豆| 国产精品白丝jk白祙喷水网站 | 五月综合激情婷婷六月色窝| 欧美亚洲图片小说| 日韩激情一二三区| 日韩欧美黄色影院| 国产精品系列在线播放| 国产精品久久毛片| 色综合一区二区三区| 亚洲成人综合在线| 欧美电视剧免费全集观看| 国产美女一区二区| 中文字幕亚洲不卡| 精品视频一区三区九区| 日本va欧美va欧美va精品| 久久亚洲免费视频| 99久久精品国产网站| 亚洲激情成人在线| 欧美一区二区三区的| 韩国精品一区二区| 最新日韩av在线| 欧美日韩第一区日日骚| 国产一区福利在线| 欧美日韩一区小说| 亚洲成人免费影院| 7777精品伊人久久久大香线蕉| 韩国欧美一区二区| 国产亚洲精品超碰| 色综合色狠狠综合色| 亚洲成av人**亚洲成av**| 日韩一区二区三区视频在线观看| 国产精品自在在线| 亚洲精品综合在线| 日韩一区二区在线播放| av成人动漫在线观看| 日韩成人精品在线| 国产欧美精品一区二区色综合| 一本色道亚洲精品aⅴ| 麻豆91精品视频| 日韩美女久久久| 欧美v日韩v国产v| 91麻豆高清视频| 国内久久婷婷综合| 亚洲午夜精品久久久久久久久| 精品福利一二区| 欧美在线免费播放| 国产成人免费在线观看不卡| 视频一区二区不卡| 国产精品久久久久久妇女6080 | 中文字幕av一区二区三区高 | 久久99久久精品欧美| 成人免费一区二区三区视频| 欧美一区二区三区成人| 色综合天天综合网天天看片| 国内外成人在线| 性欧美疯狂xxxxbbbb| 自拍偷拍亚洲激情| 久久久影视传媒|