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

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

?? arm_00_ostaskmanager.lst

?? uCOS在LPC213X上的移植。適合ARM嵌入式系統初學者。
?? LST
字號:
ARM COMPILER V2.50a,  ARM_00_OSTaskManager                                                 25/08/06  23:22:56  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                                                 25/08/06  23:22:56  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                                                 25/08/06  23:22:56  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                                                 25/08/06  23:22:56  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一区二区三区免费野_久草精品视频
日韩和欧美一区二区| 日本不卡123| 97成人超碰视| 国产精品美女久久久久av爽李琼 | 国产精品免费aⅴ片在线观看| 激情五月婷婷综合网| 精品国产免费人成电影在线观看四季| 日韩电影在线观看电影| 这里只有精品99re| 日韩高清中文字幕一区| 日韩欧美综合在线| 极品美女销魂一区二区三区免费| 精品国产免费人成在线观看| 国产美女在线观看一区| 粉嫩绯色av一区二区在线观看| 久久亚区不卡日本| 懂色av一区二区三区免费看| 国产精品美女久久久久aⅴ| a级高清视频欧美日韩| 国产精品久久久久7777按摩| 99视频在线观看一区三区| 亚洲视频电影在线| 91成人在线免费观看| 亚洲电影你懂得| 欧美一区二区三区精品| 久久99久久精品| 国产日韩精品视频一区| 99久久免费国产| 亚洲第一久久影院| 日韩欧美电影一二三| 国产成人亚洲综合a∨婷婷图片| 国产精品视频九色porn| 色悠久久久久综合欧美99| 亚洲一区二区偷拍精品| 欧美一二区视频| 高清shemale亚洲人妖| 中文字幕综合网| 欧美乱妇20p| 狠狠狠色丁香婷婷综合久久五月| 欧美国产日产图区| 日本乱人伦一区| 日韩黄色片在线观看| 国产网站一区二区三区| 色综合久久99| 免费欧美日韩国产三级电影| 国产午夜精品福利| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 一区二区三区在线免费| 777亚洲妇女| 成人高清视频免费观看| 午夜欧美一区二区三区在线播放| 欧美mv日韩mv| 91视频观看视频| 热久久一区二区| 国产精品狼人久久影院观看方式| 欧美色国产精品| 国产精品1区2区3区在线观看| 亚洲欧美日韩一区二区三区在线观看| 欧美一区二区三区电影| 成人av免费在线| 日本欧美一区二区在线观看| 国产精品欧美综合在线| 在线电影一区二区三区| 成人性视频免费网站| 丝袜美腿亚洲综合| 国产精品情趣视频| 欧美一区二区三区视频在线| 成人av在线播放网站| 日韩高清电影一区| 亚洲欧美日韩在线播放| 欧美精品一区男女天堂| 欧美亚洲国产bt| 综合中文字幕亚洲| 日韩精品一区二区三区四区| 色天使色偷偷av一区二区| 国模大尺度一区二区三区| 一区二区在线观看视频 | 欧美福利一区二区| 99国产精品久久久久久久久久久| 久久国产精品露脸对白| 亚洲精选免费视频| 久久色.com| 欧美一级日韩免费不卡| 91网站最新网址| 国产成人午夜片在线观看高清观看 | 亚洲精品一区在线观看| 欧美性高清videossexo| 国产成人丝袜美腿| 久久精品国产精品亚洲综合| 亚洲一区二区四区蜜桃| 中文字幕欧美一| 久久新电视剧免费观看| 欧美一区二区三区日韩| 色屁屁一区二区| 国产成人av电影在线观看| 秋霞成人午夜伦在线观看| 亚洲激情av在线| 国产精品二三区| 国产亚洲欧美日韩俺去了| 欧美一区二区三区在线观看视频| 在线亚洲高清视频| 91蜜桃视频在线| 懂色av一区二区三区免费观看| 精品一二线国产| 蜜臀久久久久久久| 香蕉久久一区二区不卡无毒影院| 亚洲日本一区二区| 国产精品免费观看视频| 国产日韩欧美精品在线| 精品动漫一区二区三区在线观看| 欧美一区二区三级| 欧美精品日韩精品| 欧美男女性生活在线直播观看| 色综合亚洲欧洲| 91美女片黄在线观看91美女| 成人av小说网| 成人福利视频在线| 成人免费毛片a| 懂色av一区二区三区免费观看| 国产在线精品不卡| 国产一区不卡在线| 国产精品亚洲成人| 国产一区二区不卡在线| 国产精品综合网| 国产91色综合久久免费分享| 国产精品一区二区男女羞羞无遮挡| 狠狠色丁香婷综合久久| 国产美女精品一区二区三区| 国产精品资源站在线| 韩国毛片一区二区三区| 国产精品一区二区男女羞羞无遮挡| 国产乱国产乱300精品| 国产成a人亚洲精| 成人app网站| 91丨九色丨蝌蚪丨老版| 91视频一区二区| 欧美亚洲国产一区二区三区| 日韩精品国产欧美| 免费不卡在线观看| 国产在线精品一区在线观看麻豆| 国产精品一线二线三线精华| 国产成人午夜精品影院观看视频| 成人精品一区二区三区中文字幕| 成人精品高清在线| 色94色欧美sute亚洲线路一ni| 欧美在线高清视频| 欧美日韩二区三区| 日韩丝袜情趣美女图片| 久久久综合九色合综国产精品| 欧美韩国一区二区| 国产精品久久久久久福利一牛影视 | 成人免费毛片片v| 日本精品一区二区三区高清| 欧美亚洲高清一区| 日韩视频免费观看高清完整版在线观看| 激情偷乱视频一区二区三区| 国产成人在线观看| 91啪在线观看| 欧美精品久久久久久久久老牛影院| 日韩美女主播在线视频一区二区三区 | 精品久久国产字幕高潮| 国产亚洲精品免费| 亚洲人成亚洲人成在线观看图片 | 极品美女销魂一区二区三区免费| 国产成人精品一区二区三区四区 | 精品一区二区三区免费视频| 国产91丝袜在线18| 欧美性淫爽ww久久久久无| 日韩亚洲欧美在线| 中文字幕乱码亚洲精品一区| 亚洲一区二区在线播放相泽| 久久99国产精品久久99果冻传媒| 成人做爰69片免费看网站| 色天天综合色天天久久| 日韩三级视频在线观看| 国产精品第五页| 日日噜噜夜夜狠狠视频欧美人| 国产精品综合久久| 欧美撒尿777hd撒尿| 亚洲精品在线观看视频| 亚洲视频香蕉人妖| 美美哒免费高清在线观看视频一区二区 | 成人黄色av网站在线| 欧美日韩视频专区在线播放| 久久精品人人做人人爽97 | 国产精品久久久久精k8 | 天天操天天综合网| 国产精品亚洲一区二区三区妖精 | 欧美精品电影在线播放| 成人a免费在线看| 欧美日韩黄色影视| 日本一区二区三区四区在线视频| 亚洲成精国产精品女| 国产精品自拍在线| 在线播放日韩导航| 亚洲欧洲三级电影| 精品一区二区在线看| 在线亚洲一区二区| 国产亚洲欧洲997久久综合| 亚洲国产aⅴ天堂久久|