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

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

?? os_sem.lst

?? 一個通過方向判別芯片進行角度計算的程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V8.05a   OS_SEM                                                               03/10/2007 13:05:45 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE OS_SEM
OBJECT MODULE PLACED IN .\Os_sem.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\OS\Os_sem.c ROM(SMALL) DEBUG OBJECTEXTEND PRINT(.\Os_sem.lst) OBJECT(.\O
                    -s_sem.obj)

line level    source

   1          /*********************************************************************************************************
   2          **                                                             Small RTOS(51)
   3          **                                   The Real-Time Kernel(For Keil c51)
   4          **
   5          **                                  (c) Copyright 2002-2003, chenmingji
   6          **                                           All Rights Reserved
   7          **
   8          **                                                  V1.20.0
   9          **
  10          **
  11          **--------------文件信息--------------------------------------------------------------------------------
  12          **文   件   名: OS_Q.C
  13          **創   建   人: 陳明計
  14          **最后修改日期:  2003年8月3日
  15          **描        述: Small RTOS(51)信號量代碼
  16          **
  17          **--------------歷史版本信息----------------------------------------------------------------------------
  18          ** 創建人: 陳明計
  19          ** 版  本: V1.10~V1.12.0
  20          ** 日 期: 2002年9月1日~2002年12月30日
  21          ** 描 述: 完善信號量代碼
  22          **
  23          **------------------------------------------------------------------------------------------------------
  24          ** 修改人: 陳明計
  25          ** 版  本: V1.20.0
  26          ** 日 期: 2003年8月3日
  27          ** 描 述: 刪除OSInt*函數,根據新版本要求改變一些代碼
  28          **
  29          **--------------當前版本修訂----------------------------------------------------------------------------
  30          ** 修改人:
  31          ** 日 期:
  32          ** 描 述:
  33          **
  34          **------------------------------------------------------------------------------------------------------
  35          ********************************************************************************************************/
  36          
  37          #define  IN_OS_SEM
  38          #include "config.h"
  39          
  40                         /* 分配信號量存儲空間 */
  41          #if EN_OS_SEM > 0
              #if OS_MAX_TASKS < 9
              uint8 OS_SEM_MEM_SEL OsSemBuf[OS_MAX_SEMS * 2];
              #else
              uint8 OS_SEM_MEM_SEL OsSemBuf[OS_MAX_SEMS * 3];
              #endif
              
              
              
              /*********************************************************************************************************
              ** 函數名稱: OSSemCreate
              ** 功能描述: 初始化消息隊列
              ** 輸 入: Index:信號量索引
              **         data:信號量初始值
C51 COMPILER V8.05a   OS_SEM                                                               03/10/2007 13:05:45 PAGE 2   

              ** 輸 出: NOT_OK:沒有這個信號量
              **         OS_SEM_OK:成功
              ** 全局變量: 無
              ** 調用模塊: 無
              **
              ** 作 者: 陳明計
              ** 日 期: 2002年9月1日
              **-------------------------------------------------------------------------------------------------------
              ** 修改人:
              ** 日 期:
              **-------------------------------------------------------------------------------------------------------
              ********************************************************************************************************/
              
                      uint8 OSSemCreate(uint8 Index,uint8 Data)
              {
                  OS_ENTER_CRITICAL();
                  if (Index < OS_MAX_SEMS )
                  {
              #if OS_MAX_TASKS < 9
                      OsSemBuf[2 * Index] = Data;             /* 計數器置初值 */
                      OsSemBuf[2 * Index + 1] = 0;            /* 清空等待隊列 */
              #else
                      OsSemBuf[3 * Index] = Data;             /* 計數器置初值 */
                              /* 清空等待隊列 */
                      OsSemBuf[3 * Index + 1] = 0;
                      OsSemBuf[3 * Index + 2] = 0;
              #endif
                      OS_EXIT_CRITICAL();
                      return OS_SEM_OK;
                  }
                  OS_EXIT_CRITICAL();
                  return NOT_OK;
              }
              
              /*********************************************************************************************************
              ** 函數名稱: OSSemPend
              ** 功能描述: 等待一個信號量
              ** 輸 入: Index:信號量索引
              **         Tick:等待時間
              ** 輸 出: NOT_OK:參數錯誤
              **         OS_SEM_OK:得到信號量
              **         OS_SEM_TMO:超時到
              **         OS_SEM_NOT_OK:沒有得到信號量
              ** 全局變量: 無
              ** 調用模塊: OSRunningTaskID,OS_TaskSuspend,OSSched,OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
              **
              ** 作 者: 陳明計
              ** 日 期: 2002年9月1日
              **-------------------------------------------------------------------------------------------------------
              ** 修改人: 陳明計
              ** 日 期: 2002年10月20日
              **-------------------------------------------------------------------------------------------------------
              ** 修改人: 陳明計
              ** 日 期: 2002年10月26日
              **-------------------------------------------------------------------------------------------------------
              ** 修改人: 陳明計
              ** 日 期: 2002年12月2日
              **-------------------------------------------------------------------------------------------------------
              ** 修改人: 陳明計
              ** 日 期: 2002年12月30日
              **-------------------------------------------------------------------------------------------------------
              ** 修改人:
C51 COMPILER V8.05a   OS_SEM                                                               03/10/2007 13:05:45 PAGE 3   

              ** 日 期:
              **-------------------------------------------------------------------------------------------------------
              ********************************************************************************************************/
              #if EN_OS_SEM_PENT > 0
              
                      uint8 OSSemPend(uint8 Index, uint8 Tick)
              {
              #if EN_OS_SEM_CHK > 0
                  if (Index >= OS_MAX_SEMS)
                  {
                      return 0;
                  }
              #endif
              
                  OS_ENTER_CRITICAL();
              
                  OSWaitTick[OSRunningTaskID()] = Tick;       /* 設置超時時間         */
                                                              /* 可以優化寄存器的使用  */
                              /* 把任務加入等待任務隊列 */
              #if OS_MAX_TASKS < 9
                  OsSemBuf[Index * 2 + 1] |= OSMapTbl[OSRunningTaskID()];
              #else
                  if (OSRunningTaskID() < 8)
                  {
                      OsSemBuf[Index * 3 + 1] |= OSMapTbl[OSRunningTaskID()];
                  }
                  else
                  {
                      OsSemBuf[Index * 3 + 2] |= OSMapTbl[OSRunningTaskID() & 0x07];
                  }
              #endif
                              /* 信號量是否有效 */
              #if OS_MAX_TASKS < 9
                  while (OsSemBuf[Index * 2] == 0)
                  {
              #else
                  while (OsSemBuf[Index * 3] == 0)
                  {
              #endif
                              /* 使用堆棧是為了使函數具有重入性 */
              #ifdef __C51__
                      SP++;
                      *((uint8 data *)SP) = Index;
              #endif
                          /* 信號量無效 */
                      OS_TaskSuspend(OSRunningTaskID());   /* 任務進入等待狀態 */
                      OSSched();                          /* 運行下一個任務 */
              
              #ifdef __C51__
                      Index = *((uint8 data *)SP);
                      SP--;
              #endif
                           /* 任務再次運行,如果超時到,退出循環 */
                      if (OSWaitTick[OSRunningTaskID()] == 0)
                      {
                          break;
                      }
                  }
              
                          /* 將任務從等待隊列中清除(可以刪除) */
              #if OS_MAX_TASKS < 9
                  OsSemBuf[Index * 2 + 1] &= ~OSMapTbl[OSRunningTaskID()];
C51 COMPILER V8.05a   OS_SEM                                                               03/10/2007 13:05:45 PAGE 4   

              #else
                  if (OSRunningTaskID() < 8)
                  {
                      OsSemBuf[Index * 3 + 1] &= ~OSMapTbl[OSRunningTaskID()];
                  }
                  else
                  {
                      OsSemBuf[Index * 3 + 2] &= ~OSMapTbl[OSRunningTaskID() & 0x07];
                  }
              #endif
                          /* 判斷信號量是否有效。有效,信號量計數器減一 */
              #if OS_MAX_TASKS < 9
                  if (OsSemBuf[Index * 2] > 0)
                  {
                      OsSemBuf[Index * 2]--;
              #else
                  if (OsSemBuf[Index * 3] > 0)
                  {
                      OsSemBuf[Index * 3]--;
              #endif
                      OS_EXIT_CRITICAL();
                      return OS_SEM_OK;
                  }
                  else
                  {
                      /* 無信號返回信號無效 */
                      OS_EXIT_CRITICAL();
                      return OS_SEM_TMO;
                  }
              }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本高清不卡视频| 国产精品网站在线| 欧美视频一区在线| 色哟哟国产精品| 在线视频综合导航| 9色porny自拍视频一区二区| 国产自产v一区二区三区c| 韩日欧美一区二区三区| 国产一区亚洲一区| 国产麻豆视频精品| 国产成人精品一区二| 国产宾馆实践打屁股91| 成人免费视频播放| 色综合天天在线| 欧美在线一区二区| 欧美一区二区三区啪啪| 精品久久免费看| 国产精品日产欧美久久久久| 亚洲视频中文字幕| 亚洲成在线观看| 国产一区二区导航在线播放| 丁香婷婷综合网| 欧美性生活久久| 日韩欧美成人一区| 中文av一区特黄| 夜夜爽夜夜爽精品视频| 蜜桃视频一区二区| 色噜噜久久综合| 欧美日韩久久一区二区| 日韩写真欧美这视频| 欧美国产综合色视频| 一级做a爱片久久| 精品一区二区在线播放| 99精品视频在线观看| 欧美性感一区二区三区| 久久综合国产精品| 亚洲高清免费视频| 成人少妇影院yyyy| 日韩欧美一区在线| 亚洲欧美乱综合| 久久99精品久久久| 欧美日韩一区成人| 亚洲国产精品v| 免费国产亚洲视频| 色综合视频一区二区三区高清| 日韩女同互慰一区二区| 亚洲欧美二区三区| 激情伊人五月天久久综合| 日本韩国欧美三级| 国产午夜精品一区二区三区四区 | 一个色综合网站| 激情综合亚洲精品| 9191成人精品久久| 亚洲成人一区在线| 91麻豆精东视频| 国产婷婷精品av在线| 久久99久久精品| 91精品国产乱码久久蜜臀| 亚洲一区二区三区自拍| 99精品国产99久久久久久白柏 | 国产精品亚洲视频| 欧美一级免费大片| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲欧美在线视频观看| 久久国产人妖系列| 日韩欧美一二三四区| 亚洲一区成人在线| 色激情天天射综合网| 亚洲天堂成人在线观看| av激情综合网| 国产欧美一区二区在线观看| 精品一区二区日韩| 欧美电影免费观看高清完整版在线| 亚洲成人激情社区| 69av一区二区三区| 日韩主播视频在线| 日韩一级大片在线观看| 青青草视频一区| 日韩一区二区三区视频在线观看| 亚洲第一成人在线| 欧美一区二区私人影院日本| 日本在线不卡视频一二三区| 日韩亚洲欧美成人一区| 六月丁香婷婷色狠狠久久| 精品捆绑美女sm三区| 国产自产v一区二区三区c| 久久久久国产精品麻豆ai换脸 | 尤物在线观看一区| 欧美精品粉嫩高潮一区二区| 天堂一区二区在线| 精品国产乱码久久久久久免费| 久久机这里只有精品| 国产日韩欧美a| 色综合中文字幕国产 | 91精品婷婷国产综合久久 | 国产视频在线观看一区二区三区| 成人美女在线观看| 亚洲欧美日韩成人高清在线一区| 99国产一区二区三精品乱码| 日韩精品三区四区| 亚洲天堂a在线| 激情久久五月天| 中文字幕乱码日本亚洲一区二区| 91免费国产在线| 偷拍一区二区三区四区| 久久久久久久网| 成人免费观看男女羞羞视频| 亚洲一区二区三区四区五区中文 | 三级久久三级久久| 国产无遮挡一区二区三区毛片日本| 99精品视频在线观看| 亚洲自拍偷拍麻豆| 国产亚洲欧美激情| 欧洲色大大久久| 国产精品1024| 首页国产丝袜综合| 亚洲欧美综合在线精品| 精品国产一区二区三区不卡| 色哟哟一区二区在线观看| 精品在线播放午夜| 亚洲一区二区成人在线观看| 日本一区免费视频| 欧美一区二区三区视频免费 | 亚洲va韩国va欧美va| 国产精品久久看| 日韩视频免费观看高清完整版| 99久久精品99国产精品| 国产在线看一区| 天天av天天翘天天综合网 | 日韩视频免费观看高清在线视频| 播五月开心婷婷综合| 精一区二区三区| 婷婷一区二区三区| 亚洲美女偷拍久久| 国产精品成人一区二区三区夜夜夜| 欧美大尺度电影在线| 91精品一区二区三区久久久久久| 日本韩国视频一区二区| 99vv1com这只有精品| 成人av电影观看| 国产成人免费视频精品含羞草妖精| 日韩精品一级中文字幕精品视频免费观看| 日韩美女啊v在线免费观看| 欧美国产欧美综合| 久久嫩草精品久久久久| 欧美大尺度电影在线| 91麻豆精品国产91久久久使用方法| 色老汉一区二区三区| 99re这里都是精品| 91网站最新地址| 色综合中文字幕国产| 色综合久久天天| 欧美在线视频全部完| 欧美日韩精品一区二区三区四区| 色先锋aa成人| 欧美色爱综合网| 67194成人在线观看| 欧美一区二区在线视频| 9191国产精品| 欧美精品一区二区三区很污很色的| 日韩视频在线永久播放| 精品国产伦理网| 国产欧美日韩在线视频| 亚洲国产精品国自产拍av| 中文字幕一区二区三区乱码在线| 中文字幕一区视频| 亚洲国产欧美日韩另类综合 | 国产一区二区三区高清播放| 精品一区二区日韩| av网站免费线看精品| 欧美性高清videossexo| 日韩三级视频中文字幕| 国产日韩欧美电影| 玉足女爽爽91| 精品一区二区三区不卡| youjizz国产精品| 欧美性猛交xxxx黑人交| 欧美成人一区二区三区| 国产精品传媒入口麻豆| 亚洲电影激情视频网站| 国产一区在线看| 色狠狠av一区二区三区| 欧美一卡二卡在线观看| 欧美韩国一区二区| 五月天激情综合| 丁香婷婷综合网| 欧美一区二区三区喷汁尤物| 中文字幕av在线一区二区三区| 亚洲在线视频一区| 狠狠网亚洲精品| 在线日韩国产精品| 久久这里只有精品6| 一区二区三区蜜桃| 国产成人精品亚洲日本在线桃色 | 日产国产高清一区二区三区 | 91极品视觉盛宴| 国产婷婷色一区二区三区四区| 亚洲最新在线观看| 国产很黄免费观看久久| 欧美一级艳片视频免费观看|