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

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

?? ucosii.lst

?? ucos如何移植到單片機mega128
?? LST
?? 第 1 頁 / 共 5 頁
字號:
(0357) *                            desired bit combination.  If you specify 0, however, your task will wait
(0358) *                            forever at the specified event flag group or, until a message arrives.
(0359) *
(0360) *              err           is a pointer to an error code and can be:
(0361) *                            OS_NO_ERR              The desired bits have been set within the specified
(0362) *                                                   'timeout'.
(0363) *                            OS_ERR_PEND_ISR        If you tried to PEND from an ISR
(0364) *                            OS_FLAG_INVALID_PGRP   If 'pgrp' is a NULL pointer.
(0365) *                            OS_ERR_EVENT_TYPE      You are not pointing to an event flag group
(0366) *                            OS_TIMEOUT             The bit(s) have not been set in the specified
(0367) *                                                   'timeout'.
(0368) *                            OS_FLAG_ERR_WAIT_TYPE  You didn't specify a proper 'wait_type' argument.
(0369) *
(0370) * Returns    : The new state of the flags in the event flag group when the task is resumed or,
(0371) *              0 if a timeout or an error occurred.
(0372) *
(0373) * Called from: Task ONLY
(0374) *********************************************************************************************************
(0375) */
(0376) 
(0377) OS_FLAGS  OSFlagPend (OS_FLAG_GRP *pgrp, OS_FLAGS flags, INT8U wait_type, INT16U timeout, INT8U *err)
(0378) {
(0379) #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status register */
(0380)     OS_CPU_SR     cpu_sr;
(0381) #endif
(0382)     OS_FLAG_NODE  node;
(0383)     OS_FLAGS      flags_cur;
(0384)     OS_FLAGS      flags_rdy;
(0385)     BOOLEAN       consume;
(0386) 
(0387) 
(0388)     if (OSIntNesting > 0) {                                /* See if called from ISR ...               */
    02C7 2422      CLR	R2
    02C8 9030032C  LDS	R3,OSIntNesting
    02CA 1423      CP	R2,R3
    02CB F428      BCC	0x02D1
(0389)         *err = OS_ERR_PEND_ISR;                            /* ... can't PEND from an ISR               */
    02CC E082      LDI	R24,2
    02CD 01FB      MOVW	R30,R22
    02CE 8380      STD	Z+0,R24
(0390)         return ((OS_FLAGS)0);
    02CF 2700      CLR	R16
    02D0 C161      RJMP	0x0432
(0391)     }
(0392) #if OS_ARG_CHK_EN > 0
(0393)     if (pgrp == (OS_FLAG_GRP *)0) {                        /* Validate 'pgrp'                          */
    02D1 2066      TST	R6
    02D2 F439      BNE	0x02DA
    02D3 2077      TST	R7
    02D4 F429      BNE	0x02DA
(0394)         *err = OS_FLAG_INVALID_PGRP;
    02D5 E986      LDI	R24,0x96
    02D6 01FB      MOVW	R30,R22
    02D7 8380      STD	Z+0,R24
(0395)         return ((OS_FLAGS)0);
    02D8 2700      CLR	R16
    02D9 C158      RJMP	0x0432
(0396)     }
(0397)     if (pgrp->OSFlagType != OS_EVENT_TYPE_FLAG) {          /* Validate event block type                */
    02DA 01F3      MOVW	R30,R6
    02DB 8180      LDD	R24,Z+0
    02DC 3085      CPI	R24,5
    02DD F029      BEQ	0x02E3
(0398)         *err = OS_ERR_EVENT_TYPE;
    02DE E081      LDI	R24,1
    02DF 01FB      MOVW	R30,R22
    02E0 8380      STD	Z+0,R24
(0399)         return ((OS_FLAGS)0);
    02E1 2700      CLR	R16
    02E2 C14F      RJMP	0x0432
(0400)     }
(0401) #endif
(0402)     if (wait_type & OS_FLAG_CONSUME) {                     /* See if we need to consume the flags      */
    02E3 FEC7      SBRS	R12,7
    02E4 C006      RJMP	0x02EB
(0403)         wait_type &= ~OS_FLAG_CONSUME;
    02E5 2D8C      MOV	R24,R12
    02E6 778F      ANDI	R24,0x7F
    02E7 2EC8      MOV	R12,R24
(0404)         consume    = TRUE;
    02E8 24EE      CLR	R14
    02E9 94E3      INC	R14
(0405)     } else {
    02EA C001      RJMP	0x02EC
(0406)         consume    = FALSE;
    02EB 24EE      CLR	R14
(0407)     }
(0408) /*$PAGE*/
(0409)     OS_ENTER_CRITICAL();
    02EC 930A      ST	R16,-Y
    02ED B70F      IN	R16,0x3F
    02EE 94F8      BCLR	7
    02EF 930F      PUSH	R16
    02F0 9109      LD	R16,Y+
(0410)     switch (wait_type) {
    02F1 2D4C      MOV	R20,R12
    02F2 2755      CLR	R21
    02F3 3040      CPI	R20,0
    02F4 0745      CPC	R20,R21
    02F5 F409      BNE	0x02F7
    02F6 C070      RJMP	0x0367
    02F7 3041      CPI	R20,1
    02F8 E0E0      LDI	R30,0
    02F9 075E      CPC	R21,R30
    02FA F409      BNE	0x02FC
    02FB C09B      RJMP	0x0397
    02FC 3042      CPI	R20,2
    02FD E0E0      LDI	R30,0
    02FE 075E      CPC	R21,R30
    02FF F031      BEQ	0x0306
    0300 3043      CPI	R20,3
    0301 E0E0      LDI	R30,0
    0302 075E      CPC	R21,R30
    0303 F409      BNE	0x0305
    0304 C032      RJMP	0x0337
    0305 C0C0      RJMP	0x03C6
(0411)         case OS_FLAG_WAIT_SET_ALL:                         /* See if all required flags are set        */
(0412)              flags_rdy = pgrp->OSFlagFlags & flags;        /* Extract only the bits we want            */
    0306 01F3      MOVW	R30,R6
    0307 80A3      LDD	R10,Z+3
    0308 8C0A      LDD	R0,Y+26
    0309 20A0      AND	R10,R0
(0413)              if (flags_rdy == flags) {                     /* Must match ALL the bits that we want     */
    030A 14A0      CP	R10,R0
    030B F4B1      BNE	0x0322
(0414)                  if (consume == TRUE) {                    /* See if we need to consume the flags      */
    030C 2D8E      MOV	R24,R14
    030D 3081      CPI	R24,1
    030E F441      BNE	0x0317
(0415)                      pgrp->OSFlagFlags &= ~flags_rdy;      /* Clear ONLY the flags that we wanted      */
    030F 01C3      MOVW	R24,R6
    0310 9603      ADIW	R24,3
    0311 2C4A      MOV	R4,R10
    0312 9440      COM	R4
    0313 01FC      MOVW	R30,R24
    0314 8050      LDD	R5,Z+0
    0315 2054      AND	R5,R4
    0316 8250      STD	Z+0,R5
(0416)                  }
(0417)                  flags_cur = pgrp->OSFlagFlags;            /* Will return the state of the group       */
    0317 01F3      MOVW	R30,R6
    0318 8143      LDD	R20,Z+3
(0418)                  OS_EXIT_CRITICAL();                       /* Yes, condition met, return to caller     */
    0319 930A      ST	R16,-Y
    031A 910F      POP	R16
    031B BF0F      OUT	0x3F,R16
    031C 9109      LD	R16,Y+
(0419)                  *err      = OS_NO_ERR;
    031D 2422      CLR	R2
    031E 01FB      MOVW	R30,R22
    031F 8220      STD	Z+0,R2
(0420)                  return (flags_cur);
    0320 2F04      MOV	R16,R20
    0321 C110      RJMP	0x0432
(0421)              } else {                                      /* Block task until events occur or timeout */
(0422)                  OS_FlagBlock(pgrp, &node, flags, wait_type, timeout);
    0322 8C0E      LDD	R0,Y+30
    0323 8C1F      LDD	R1,Y+31
    0324 821D      STD	Y+5,R1
    0325 820C      STD	Y+4,R0
    0326 82CA      STD	Y+2,R12
    0327 8C0A      LDD	R0,Y+26
    0328 8208      STD	Y+0,R0
    0329 019E      MOVW	R18,R28
    032A 5F2A      SUBI	R18,0xFA
    032B 4F3F      SBCI	R19,0xFF
    032C 0183      MOVW	R16,R6
    032D 930F      PUSH	R16
    032E 931F      PUSH	R17
    032F D1FC      RCALL	_OS_FlagBlock
    0330 907F      POP	R7
    0331 906F      POP	R6
(0423)                  OS_EXIT_CRITICAL();
    0332 930A      ST	R16,-Y
    0333 910F      POP	R16
    0334 BF0F      OUT	0x3F,R16
    0335 9109      LD	R16,Y+
(0424)              }
(0425)              break;
    0336 C099      RJMP	0x03D0
(0426) 
(0427)         case OS_FLAG_WAIT_SET_ANY:
(0428)              flags_rdy = pgrp->OSFlagFlags & flags;        /* Extract only the bits we want            */
    0337 01F3      MOVW	R30,R6
    0338 80A3      LDD	R10,Z+3
    0339 8C0A      LDD	R0,Y+26
    033A 20A0      AND	R10,R0
(0429)              if (flags_rdy != (OS_FLAGS)0) {               /* See if any flag set                      */
    033B F0B1      BEQ	0x0352
(0430)                  if (consume == TRUE) {                    /* See if we need to consume the flags      */
    033C 2D8E      MOV	R24,R14
    033D 3081      CPI	R24,1
    033E F441      BNE	0x0347
(0431)                      pgrp->OSFlagFlags &= ~flags_rdy;      /* Clear ONLY the flags that we got         */
    033F 01C3      MOVW	R24,R6
    0340 9603      ADIW	R24,3
    0341 2C4A      MOV	R4,R10
    0342 9440      COM	R4
    0343 01FC      MOVW	R30,R24
    0344 8050      LDD	R5,Z+0
    0345 2054      AND	R5,R4
    0346 8250      STD	Z+0,R5
(0432)                  }
(0433)                  flags_cur = pgrp->OSFlagFlags;            /* Will return the state of the group       */
    0347 01F3      MOVW	R30,R6
    0348 8143      LDD	R20,Z+3
(0434)                  OS_EXIT_CRITICAL();                       /* Yes, condition met, return to caller     */
    0349 930A      ST	R16,-Y
    034A 910F      POP	R16
    034B BF0F      OUT	0x3F,R16
    034C 9109      LD	R16,Y+
(0435)                  *err      = OS_NO_ERR;
    034D 2422      CLR	R2
    034E 01FB      MOVW	R30,R22
    034F 8220      STD	Z+0,R2
(0436)                  return (flags_cur);
    0350 2F04      MOV	R16,R20
    0351 C0E0      RJMP	0x0432
(0437)              } else {                                      /* Block task until events occur or timeout */
(0438)                  OS_FlagBlock(pgrp, &node, flags, wait_type, timeout);
    0352 8C0E      LDD	R0,Y+30
    0353 8C1F      LDD	R1,Y+31
    0354 821D      STD	Y+5,R1
    0355 820C      STD	Y+4,R0
    0356 82CA      STD	Y+2,R12
    0357 8C0A      LDD	R0,Y+26
    0358 8208      STD	Y+0,R0
    0359 019E      MOVW	R18,R28
    035A 5F2A      SUBI	R18,0xFA
    035B 4F3F      SBCI	R19,0xFF
    035C 0183      MOVW	R16,R6
    035D 930F      PUSH	R16
    035E 931F      PUSH	R17
    035F D1CC      RCALL	_OS_FlagBlock
    0360 907F      POP	R7
    0361 906F      POP	R6
(0439)                  OS_EXIT_CRITICAL();
    0362 930A      ST	R16,-Y
    0363 910F      POP	R16
    0364 BF0F      OUT	0x3F,R16
    0365 9109      LD	R16,Y+
(0440)              }
(0441)              break;
    0366 C069      RJMP	0x03D0
(0442) 
(0443) #if OS_FLAG_WAIT_CLR_EN > 0
(0444)         case OS_FLAG_WAIT_CLR_ALL:                         /* See if all required flags are cleared    */
(0445)              flags_rdy = ~pgrp->OSFlagFlags & flags;       /* Extract only the bits we want            */
    0367 01F3      MOVW	R30,R6
    0368 80A3      LDD	R10,Z+3
    0369 94A0      COM	R10
    036A 8C0A      LDD	R0,Y+26
    036B 20A0      AND	R10,R0
(0446)              if (flags_rdy == flags) {                     /* Must match ALL the bits that we want     */
    036C 14A0      CP	R10,R0
    036D F4A1      BNE	0x0382
(0447)                  if (consume == TRUE) {                    /* See if we need to consume the flags      */
    036E 2D8E      MOV	R24,R14
    036F 3081      CPI	R24,1
    0370 F431      BNE	0x0377
(0448)                      pgrp->OSFlagFlags |= flags_rdy;       /* Set ONLY the flags that we wanted        */
    0371 01C3      MOVW	R24,R6
    0372 9603      ADIW	R24,3
    0373 01FC      MOVW	R30,R24
    0374 8040      LDD	R4,Z+0
    0375 284A      OR	R4,R10
    0376 8240      STD	Z+0,R4
(0449)                  }
(0450)                  flags_cur = pgrp->OSFlagFlags;            /* Will return the state of the group       */
    0377 01F3      MOVW	R30,R6
    0378 8143      LDD	R20,Z+3
(0451)                  OS_EXIT_CRITICAL();                       /* Yes, condition met, return to caller     */
    0379 930A      ST	R16,-Y
    037A 910F      POP	R16
    037B BF0F      OUT	0x3F,R16
    037C 9109      LD	R16,Y+
(0452)                  *err      = OS_NO_ERR;
    037D 2422      CLR	R2
    037E 01FB      MOVW	R30,R22
    037F 8220      STD	Z+0,R2
(0453)                  return (flags_cur);
    0380 2F04      MOV	R16,R20
    0381 C0B0      RJMP	0x0432
(0454)              } else {                                      /* Block task until events occur or timeout */
(0455)                  OS_FlagBlock(pgrp, &node, flags, wait_type, timeout);
    0382 8C0E      LDD	R0,Y+30
    0383 8C1F      LDD	R1,Y+31
    0384 821D      STD	Y+5,R1
    0385 820C      STD	Y+4,R0
    0386 82CA      STD	Y+2,R12
    0387 8C0A      LDD	R0,Y+26
    0388 8208      STD	Y+0,R0
    0389 019E      MOVW	R18,R28
    038A 5F2A      SUBI	R18,0xFA
    038B 4F3F      SBCI	R19,0xFF
    038C 0183      MOVW	R16,R6
    038D 930F      PUSH	R16
    038E 931F      PUSH	R17
    038F D19C      RCALL	_OS_FlagBlock
    0390 907F      POP	R7
    0391 906F      POP	R6
(0456)                  OS_EXIT_CRITICAL();
    0392 930A      ST	R16,-Y
    0393 910F      POP	R16
    0394 BF0F      OUT	0x3F,R16
    0395 9109      LD	R16,Y+
(0457)              }
(0458)              break;
    0396 C039      RJMP	0x03D0
(0459) 
(0460)         case OS_FLAG_WAIT_CLR_ANY:
(0461)              flags_rdy = ~pgrp->OSFlagFlags & flags;       /* Extract only the bits we want            */
    0397 01F3      MOVW	R30,R6
    0398 80A3      LDD	R10,Z+3
    0399 94A0      COM	R10

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久影音资源网| 欧美韩国日本综合| 成人av手机在线观看| 天天av天天翘天天综合网| 久久精品欧美一区二区三区不卡 | 99久久综合狠狠综合久久| 同产精品九九九| 亚洲三级视频在线观看| 久久精品亚洲乱码伦伦中文| 91精品国产麻豆| 色哟哟亚洲精品| 国产另类ts人妖一区二区| 无码av免费一区二区三区试看| 精品国产一区二区三区久久久蜜月 | 成人午夜看片网址| 日韩电影一区二区三区四区| 亚洲精品欧美激情| 亚洲国产精品精华液2区45| 精品入口麻豆88视频| 欧美视频中文一区二区三区在线观看| 大胆欧美人体老妇| 精品一二三四区| 久久精品国产99久久6| 天天综合网天天综合色| 亚洲黄色av一区| 亚洲婷婷综合久久一本伊一区| 国产欧美日韩中文久久| 久久午夜色播影院免费高清 | 久久久久久久久免费| 日韩一级二级三级| 欧美一区二区三区四区在线观看| 色婷婷综合久久久久中文一区二区| 本田岬高潮一区二区三区| 国产精品一区不卡| 久久99精品国产| 亚洲高清在线视频| 久久se这里有精品| 国产视频视频一区| 国产视频不卡一区| 国产欧美在线观看一区| 久久综合色8888| 久久精品欧美一区二区三区麻豆| 久久久综合网站| 国产午夜精品一区二区 | 一区二区在线观看视频在线观看| 国产精品三级av| 亚洲女同女同女同女同女同69| 亚洲日本中文字幕区| 一区二区三区鲁丝不卡| 亚洲国产色一区| 免费成人在线影院| 国产精品综合一区二区| 成人中文字幕在线| 一本到不卡精品视频在线观看| 在线观看国产91| 日韩一级片在线播放| 精品成人一区二区三区| 国产精品久久久久永久免费观看| 亚洲欧美另类小说| 婷婷亚洲久悠悠色悠在线播放| 麻豆一区二区三| 成人国产视频在线观看| 欧美性受极品xxxx喷水| 欧美一区二区三区在线电影| 久久综合成人精品亚洲另类欧美 | 一区二区三区国产| 天天影视网天天综合色在线播放| 日本不卡视频在线| 粉嫩欧美一区二区三区高清影视| 99re这里都是精品| 91精品国产综合久久香蕉麻豆| 欧美精品一区二区精品网| 国产精品人妖ts系列视频| 亚洲精品v日韩精品| 免费成人av资源网| aa级大片欧美| 欧美高清视频一二三区 | 中文字幕av在线一区二区三区| 亚洲猫色日本管| 美女视频一区二区| 99久久综合狠狠综合久久| 正在播放亚洲一区| 国产精品传媒在线| 麻豆一区二区在线| 一本高清dvd不卡在线观看| 精品免费日韩av| 亚洲一线二线三线久久久| 激情深爱一区二区| 色呦呦国产精品| 久久一留热品黄| 丝袜美腿亚洲一区二区图片| 丁香五精品蜜臀久久久久99网站| 欧美四级电影在线观看| 国产精品色婷婷久久58| 日韩av成人高清| 色综合天天综合狠狠| 精品1区2区在线观看| 午夜国产精品一区| 91视频你懂的| 久久蜜桃av一区精品变态类天堂| 亚洲一区二区不卡免费| 波多野结衣91| 国产亚洲欧洲997久久综合 | 亚洲丝袜另类动漫二区| 国产中文一区二区三区| 6080午夜不卡| 亚洲成人一二三| 在线看一区二区| 亚洲欧洲一区二区在线播放| 国产制服丝袜一区| 制服丝袜亚洲色图| 亚洲丰满少妇videoshd| 91女厕偷拍女厕偷拍高清| 国产日本亚洲高清| 国产一区二区视频在线| 日韩无一区二区| 日日噜噜夜夜狠狠视频欧美人 | 亚洲成人午夜影院| 色综合视频一区二区三区高清| 欧美韩国日本一区| 国产成人丝袜美腿| 国产亚洲综合在线| 国产精品自拍在线| 久久精品人人做人人爽97| 国产毛片精品视频| 久久综合九色综合97婷婷 | 欧美影院一区二区| 一区在线播放视频| 99re热这里只有精品免费视频| 国产精品无遮挡| 成人精品高清在线| 成人免费一区二区三区视频 | 亚洲高清免费在线| 欧美人与性动xxxx| 亚洲www啪成人一区二区麻豆| 欧美在线视频日韩| 亚洲va国产天堂va久久en| 欧美日韩一区三区| 性做久久久久久免费观看| 欧美老人xxxx18| 麻豆精品在线播放| 久久久精品蜜桃| 粉嫩绯色av一区二区在线观看| 国产精品国产三级国产专播品爱网 | 国产成人欧美日韩在线电影| 国产网站一区二区| 国产jizzjizz一区二区| 国产精品久久久久久久久快鸭| 福利电影一区二区三区| 1024亚洲合集| 欧美日韩精品欧美日韩精品| 日本午夜一区二区| 国产亚洲欧美一级| 91丨九色丨蝌蚪丨老版| 亚洲成人自拍网| 精品国产免费久久| 成人精品小蝌蚪| 夜夜精品浪潮av一区二区三区| 欧美区一区二区三区| 黑人巨大精品欧美一区| 国产精品国产三级国产普通话蜜臀| 91看片淫黄大片一级在线观看| 亚洲小说春色综合另类电影| 日韩一级黄色片| 成人av免费网站| 午夜精品福利在线| 国产三级一区二区三区| 在线观看日韩毛片| 精品在线一区二区三区| 中文字幕亚洲精品在线观看| 欧美人体做爰大胆视频| 国产精品资源站在线| 欧美日韩免费在线视频| 久久只精品国产| 亚洲美女屁股眼交| 国产综合久久久久影院| 欧美疯狂性受xxxxx喷水图片| 中文字幕巨乱亚洲| 精品在线你懂的| 91精品久久久久久久99蜜桃| 亚洲欧美成人一区二区三区| 国产精品一区二区在线观看不卡| 欧美亚洲一区二区在线观看| 国产精品天美传媒| 成人亚洲一区二区一| 成人18视频日本| 在线观看日产精品| 国产亚洲一区二区在线观看| 偷拍与自拍一区| 国产偷国产偷精品高清尤物 | 精品日韩在线观看| 色综合色狠狠天天综合色| 看国产成人h片视频| 国模冰冰炮一区二区| 成人ar影院免费观看视频| 中文字幕一区二区三区在线播放| 一本久道中文字幕精品亚洲嫩| 精品影院一区二区久久久| 亚洲麻豆国产自偷在线| 日本一区二区三区久久久久久久久不|