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

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

?? os_q.lst

?? 一個通過方向判別芯片進行角度計算的程序
?? LST
?? 第 1 頁 / 共 3 頁
字號:
 217   1          else
 218   1          {
 219   2                      /* 無,返回錯誤碼 */
 220   2      #ifdef __C51__
 221   2              SP--;
 222   2      #endif
 223   2      
 224   2              OS_EXIT_CRITICAL();
 225   2              return OS_Q_TMO;
 226   2          }
 227   1      }
 228          #endif
 229          
 230          /*********************************************************************************************************
 231          ** 函數名稱: OSQAccept
 232          ** 功能描述: 無等待從消息隊列中取得消息
 233          ** 輸 入: Ret:返回的消息
 234          **         Buf:指向隊列的指針
 235          ** 輸 出: NOT_OK:參數錯誤
 236          **         OS_Q_OK:收到消息
 237          **         OS_Q_TMO:超時到
 238          **         OS_Q_NOT_OK:無消息
 239          ** 全局變量: 無
 240          ** 調用模塊: OS_TaskSuspend,OSSched,OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
C51 COMPILER V8.05a   OS_Q                                                                 03/10/2007 13:05:45 PAGE 5   

 241          **
 242          ** 作 者: 陳明計
 243          ** 日 期: 2002年9月1日
 244          **-------------------------------------------------------------------------------------------------------
 245          ** 修改人:
 246          ** 日 期:
 247          **-------------------------------------------------------------------------------------------------------
 248          ********************************************************************************************************/
 249          #if EN_OS_Q_ACCEPT > 0
                      uint8 OSQAccept(uint8 data *Ret, uint8 OS_Q_MEM_SEL *Buf)
              {
              #if EN_OS_Q_CHK > 0
                  if (Buf == NULL)
                  {
                      return NOT_OK;
                  }
              #endif
              
                  OS_ENTER_CRITICAL();
              
                              /* 判斷消息隊列中是否有消息 */
                  if (*Buf != 0)
                  {
                              /* 有,消息出隊 */
                      Buf[0]--;
                      Buf[2]++;
                      if (Buf[2] >= Buf[1])
                      {
              #if OS_MAX_TASKS < 9
                          Buf[2] = 4;
              #else
                          Buf[2] = 5;
              #endif
                      }
                      *Ret = Buf[Buf[2]];
                      OS_EXIT_CRITICAL();
                      return OS_Q_OK;
                  }
                  else
                  {
                              /* 無,返回錯誤碼 */
                      OS_EXIT_CRITICAL();
                      return OS_Q_NOT_OK;
                  }
              }
              #endif
 287          
 288          
 289          /*********************************************************************************************************
 290          ** 函數名稱: OSQPost
 291          ** 功能描述: 中斷中FIFO方式發送消息
 292          ** 輸 入: Buf:指向隊列的指針
 293          **         Data:消息數據
 294          ** 輸 出: OS_Q_FULL:隊列滿
 295          **         OS_Q_OK:發送成功
 296          ** 全局變量: 無
 297          ** 調用模塊: OSTaskResume,OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
 298          **
 299          ** 作 者: 陳明計
 300          ** 日 期: 2003年8月3日
 301          **-------------------------------------------------------------------------------------------------------
 302          ** 修改人: 陳明計
C51 COMPILER V8.05a   OS_Q                                                                 03/10/2007 13:05:45 PAGE 6   

 303          ** 日 期: 2004年6月8日
 304          **-------------------------------------------------------------------------------------------------------
 305          ********************************************************************************************************/
 306          #if EN_OS_Q_POST > 0
 307                  uint8 OSQPost(uint8 OS_Q_MEM_SEL *Buf, uint8 Data)
 308          {
 309   1          uint8 temp,i;
 310   1      
 311   1      #if EN_OS_Q_CHK > 0
                  if (Buf == NULL)
                  {
                      return NOT_OK;
                  }
              #endif
 317   1      
 318   1          OS_ENTER_CRITICAL();
 319   1      
 320   1                      /* 隊列是否已滿 */
 321   1      #if OS_MAX_TASKS < 9
 322   1          if (Buf[0] < (Buf[1]-4))
 323   1      #else
                  if (Buf[0] < (Buf[1]-5))
              #endif
 326   1          {
 327   2                      /* 使用堆棧是為了使函數具有重入性 */
 328   2      #ifdef __C51__
 329   2              SP++;
 330   2              *((uint8 data *)SP) = Data;
 331   2      #endif
 332   2                      /* 計算新入隊消息存儲位置 */
 333   2              temp = Buf[2] + Buf[0] + 1;
 334   2              if (temp <= Buf[0] || temp >= Buf[1])
 335   2              {
 336   3      #if OS_MAX_TASKS < 9
 337   3                  temp = temp - Buf[1] + 4;
 338   3      #else
                          temp = temp - Buf[1] + 5;
              #endif
 341   3              }
 342   2                      /* 存儲消息 */
 343   2      #ifdef __C51__
 344   2              Buf[temp] = *((uint8 data *)SP);
 345   2              SP--;
 346   2      #else
                      Buf[temp] = Data;
              #endif
 349   2      
 350   2              Buf[0]++;               /* 消息數目加一 */
 351   2                      /* 判斷消息入隊前消息隊列是否為空 */
 352   2              if (Buf[0] == 1)
 353   2              {
 354   3                      /* 為空,可能有任務等待消息,查找之 */
 355   3                  temp = Buf[3];
 356   3      #if OS_MAX_TASKS < 9
 357   3                  for (i = 0; i < OS_MAX_TASKS; i++)
 358   3                  {
 359   4                      if ((temp & 0x01) != 0)
 360   4                      {
 361   5                          break;
 362   5                      }
 363   4                      temp = temp >> 1;
 364   4                  }
C51 COMPILER V8.05a   OS_Q                                                                 03/10/2007 13:05:45 PAGE 7   

 365   3                  if (i < OS_MAX_TASKS )
 366   3                  {
 367   4                      /* 查到,使其中優先級最高的任務進入就緒狀態,并將其從等待隊列中清除 */
 368   4                      Buf[3] &= ~OSMapTbl[i];
 369   4                      OSTaskResume(i);
 370   4                  }
 371   3      #else
                          for (i = 0; i < 8; i++)
                          {
                              if ((temp & 0x01) != 0)
                              {
                                  break;
                              }
                              temp = temp >> 1;
                          }
                          if (i >= 8 )
                          {
                              temp = Buf[4];
                              for (; i < OS_MAX_TASKS; i++)
                              {
                                  if ((temp & 0x01) != 0)
                                  {
                                      break;
                                  }
                                  temp = temp >> 1;
                              }
                          }
                          if (i < OS_MAX_TASKS )
                          {
                              /* 查到,使其中優先級最高的任務進入就緒狀態,并將其從等待隊列中清除 */
                              if (i < 8)
                              {
                                  Buf[3] &= ~OSMapTbl[i];
                              }
                              else
                              {
                                  Buf[4] &= ~OSMapTbl[i & 0x07];
                              }
                              OSTaskResume(i);
                          }
              #endif
 406   3              }
 407   2              OS_EXIT_CRITICAL();
 408   2              return OS_Q_OK;
 409   2          }
 410   1          else
 411   1          {
 412   2              OS_EXIT_CRITICAL();
 413   2              return OS_Q_FULL;
 414   2          }
 415   1      }
 416          #endif
 417          
 418          /*********************************************************************************************************
 419          ** 函數名稱: OSQPostFront
 420          ** 功能描述: 中斷中LIFO方式發送消息
 421          ** 輸 入: Buf:指向隊列的指針
 422          **         Data:消息數據
 423          ** 輸 出: OS_Q_FULL:隊列滿
 424          **         OS_Q_OK:發送成功
 425          ** 全局變量: 無
 426          ** 調用模塊: OSTaskResume,OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
C51 COMPILER V8.05a   OS_Q                                                                 03/10/2007 13:05:45 PAGE 8   

 427          **
 428          ** 作 者: 陳明計
 429          ** 日 期: 2003年8月3日
 430          **-------------------------------------------------------------------------------------------------------
 431          ** 修改人:
 432          ** 日 期:
 433          **-------------------------------------------------------------------------------------------------------
 434          ********************************************************************************************************/
 435          #if EN_OS_Q_POST_FRONT > 0
                      uint8 OSQPostFront(uint8 OS_Q_MEM_SEL *Buf, uint8 Data)
              {
                  uint8 temp,i;
              
              #if EN_OS_Q_CHK > 0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成在线观看一区二区| 麻豆一区二区三区| 亚洲自拍另类综合| 蜜臀av在线播放一区二区三区| 九九久久精品视频| 成人福利视频网站| 欧美精品在线观看播放| 精品久久一二三区| www亚洲一区| 1024国产精品| 日韩专区欧美专区| 国产精品一区二区在线播放 | 日本va欧美va瓶| 黄一区二区三区| 一本色道久久综合精品竹菊| 91精品国产黑色紧身裤美女| 中文字幕一区二| 午夜伊人狠狠久久| 国产电影精品久久禁18| 欧洲视频一区二区| 国产亚洲女人久久久久毛片| 中文字幕欧美一区| 激情六月婷婷综合| 色噜噜狠狠一区二区三区果冻| 91麻豆精品国产自产在线 | 一本色道久久综合精品竹菊 | 国产999精品久久久久久绿帽| 不卡的av电影在线观看| 欧美日韩国产精选| 一区二区三区在线观看国产| 国产成人在线电影| 欧美大胆一级视频| 亚洲国产精品天堂| 91在线丨porny丨国产| 日韩欧美一区在线| 午夜国产精品一区| 91啪在线观看| 国产精品高潮呻吟久久| 国产做a爰片久久毛片| 欧美喷潮久久久xxxxx| 亚洲欧美aⅴ...| 暴力调教一区二区三区| 中文字幕成人在线观看| 免费成人在线网站| 91精品国产综合久久蜜臀| 亚洲精品视频在线观看免费| 岛国精品在线观看| 日韩欧美一级二级三级| 五月天亚洲婷婷| 欧美日韩一区二区三区视频 | 日韩视频一区在线观看| 亚洲超碰精品一区二区| 欧美巨大另类极品videosbest | 成人手机电影网| 久久久亚洲精品石原莉奈| 国产一区二区久久| 久久精品一区蜜桃臀影院| 国产精品综合在线视频| 国产午夜精品美女毛片视频| 另类小说视频一区二区| 欧美日韩国产色站一区二区三区| 亚洲va韩国va欧美va精品| 欧美经典三级视频一区二区三区| 黑人巨大精品欧美黑白配亚洲| 久久午夜老司机| 国产精品99久久久久久久女警 | 欧美日韩卡一卡二| 性欧美疯狂xxxxbbbb| 欧美日韩午夜在线| 偷偷要91色婷婷| 免费一级欧美片在线观看| 日韩黄色片在线观看| 欧美妇女性影城| 蜜桃视频在线一区| 精品国产一区久久| 成人app软件下载大全免费| 亚洲欧美在线视频| 欧美中文字幕一区| 日韩电影在线观看电影| 日韩亚洲欧美成人一区| 紧缚奴在线一区二区三区| 精品日韩在线一区| 国产精品亚洲第一区在线暖暖韩国| 国产亚洲成aⅴ人片在线观看 | 樱花影视一区二区| 3atv一区二区三区| 国产精品一区二区无线| 中文字幕一区三区| 欧美久久久一区| 国产精品18久久久久| 樱桃国产成人精品视频| 日韩欧美国产1| 99久久久无码国产精品| 秋霞影院一区二区| 国产精品久久久久影院老司| 91老师片黄在线观看| 亚洲图片欧美一区| 久久综合五月天婷婷伊人| 91视频在线观看免费| 蜜臀av在线播放一区二区三区| 国产精品久久久99| 日韩欧美国产一二三区| 91在线高清观看| 久久av中文字幕片| 亚洲国产你懂的| 国产欧美一区二区在线观看| 欧美日韩精品一区二区三区蜜桃 | 日韩三级视频在线观看| 91视频在线看| 国产在线视频不卡二| 亚洲国产欧美在线人成| 久久久精品国产免大香伊| 91麻豆精品国产91久久久使用方法| 成人av影视在线观看| 91色porny| 国产精选一区二区三区| 青青草国产成人av片免费| 亚洲少妇屁股交4| 国产午夜精品一区二区| 日韩欧美国产麻豆| 欧美午夜片在线观看| 99久久精品免费观看| 国产精品一二二区| 日韩av中文在线观看| 最新国产精品久久精品| 日韩精品专区在线影院重磅| 精品视频在线免费| 色综合天天综合| www.欧美精品一二区| 国产高清成人在线| 精品一二三四区| 男人的天堂亚洲一区| 日韩av中文字幕一区二区三区| 亚洲成人动漫一区| 亚洲成人免费观看| 亚洲男人天堂av| 欧美国产综合色视频| 国产婷婷精品av在线| 久久网这里都是精品| 欧美大黄免费观看| 久久综合色鬼综合色| 久久综合成人精品亚洲另类欧美 | 国产精品超碰97尤物18| 中文字幕的久久| 中文字幕一区二区三区四区不卡| 中文字幕久久午夜不卡| 国产精品乱子久久久久| 欧美激情资源网| 国产精品免费丝袜| 国产精品亲子乱子伦xxxx裸| 亚洲国产精品精华液2区45| 国产精品久久久久久久第一福利| 国产精品久久综合| 中文字幕中文字幕在线一区| 亚洲精品成a人| 日本欧美一区二区| 中文字幕中文字幕在线一区| 亚洲摸摸操操av| 日韩成人一区二区三区在线观看| 国产乱妇无码大片在线观看| 91亚洲午夜精品久久久久久| 欧美mv日韩mv| 亚洲午夜在线视频| 成人午夜精品在线| 欧美一区二区大片| 亚洲欧美日韩一区二区 | 久久婷婷国产综合国色天香 | 色婷婷综合久久久久中文| 欧美mv日韩mv国产网站app| 亚洲在线中文字幕| 丁香啪啪综合成人亚洲小说| 91精品国产入口| 亚洲欧美日韩国产另类专区| 麻豆freexxxx性91精品| 欧美色涩在线第一页| 国产精品人妖ts系列视频| 狠狠色综合日日| 欧美日本乱大交xxxxx| 亚洲男人的天堂av| voyeur盗摄精品| 中文字幕不卡的av| 国产综合久久久久久鬼色| 欧美一级久久久久久久大片| 亚洲私人黄色宅男| 国产成a人亚洲| 久久免费电影网| 极品少妇xxxx精品少妇偷拍| 欧美一区二区三区在线观看| 一级精品视频在线观看宜春院| 不卡一区二区中文字幕| 国产日本欧美一区二区| 韩国午夜理伦三级不卡影院| 日韩一级大片在线观看| 日本亚洲一区二区| 欧美精品日韩综合在线| 五月激情综合婷婷| 777午夜精品视频在线播放| 亚洲国产日韩精品| 欧美美女视频在线观看| 亚洲18影院在线观看|