?? test.lss
字號:
Sem[Index].OSEventState = 1; /*使信號量有效 */
}
}
}
/************************************************************************************************************************
函數名稱: OSTaskSemPost
函數原型: void OSTaskSemPost(Uint_8bit Index)
函數功能: 從任務發送一個信號量,并進行調度
入口參數: Index:信號量的序號
出口參數: 無
有關說明: 在任務中調用
創建時間: 2007年3月3日
修改時間:
************************************************************************************************************************/
void OSTaskSemPost(Uint_8bit Index)
{
OSSemPost(Index);
OSSched();
}
/************************************************************************************************************************
函數名稱: OSSemClean
函數原型: void OSSemClean(Uint_8bit Index)
函數功能: 清除一個信號量,只對共享型的有用。 對于獨占型的信號量,在任務占用后,就變得不可以用了
入口參數: Index:信號量的序號
出口參數: 無
有關說明:
創建時間: 2007年3月3日
修改時間:
************************************************************************************************************************/
void OSSemClean(Uint_8bit Index)
{
Sem[Index].OSEventState = 0; /*要求的信號量無效*/
}
/************************************************************************************************************************
函數名稱: TCN0Init
函數原型: void TCN0Init(void)
函數功能: 初始化定時器0
入口參數: 無
出口參數: 無
有關說明: 定時器T0是任務時鐘
創建時間: 2007年3月3日
修改時間:
************************************************************************************************************************/
void TCN0Init(void)
{
TCCR0 = 0;
TCCR0 |= 5; /* 1024預分頻 fout7200hz */
TIMSK |= (1<<TOIE0); /* T0溢出中斷允許 */
TCNT0 = 183; /* 置計數起始值 */
}
/************************************************************************************************************************
函數名稱: OSFindPrioHighRdy
函數原型: void OSFindPrioHighRdy (void)
函數功能: 找出任務就緒表中的最高優先級的任務
入口參數: 無
出口參數: 無
有關說明:
創建時間: 2007年3月7日
修改時間:
************************************************************************************************************************/
void OSFindPrioHighRdy (void)
{
Uint_8bit OSNextTaskPrio;
OSNextTaskPrio = 0;
3fa: 40 e0 ldi r20, 0x00 ; 0
while ((OSNextTaskPrio < OS_TASKS) && (!(OSRdyTbl & (0x01<<OSNextTaskPrio))))
{
OSNextTaskPrio++;
3fc: 22 2d mov r18, r2
3fe: 33 27 eor r19, r19
400: 20 fd sbrc r18, 0
402: 0c c0 rjmp .+24 ; 0x41c
404: 4f 5f subi r20, 0xFF ; 255
406: 44 30 cpi r20, 0x04 ; 4
408: 48 f4 brcc .+18 ; 0x41c
40a: c9 01 movw r24, r18
40c: 04 2e mov r0, r20
40e: 02 c0 rjmp .+4 ; 0x414
410: 95 95 asr r25
412: 87 95 ror r24
414: 0a 94 dec r0
416: e2 f7 brpl .-8 ; 0x410
418: 80 ff sbrs r24, 0
41a: f4 cf rjmp .-24 ; 0x404
/*
找出信號量等待列表中任務優先級最高的任務
*/
}
OSPrioHighRdy = OSNextTaskPrio;
41c: 54 2e mov r5, r20
41e: 08 95 ret
00000420 <OSSched>:
420: ec df rcall .-40 ; 0x3fa
422: 53 10 cpse r5, r3
424: 8f df rcall .-226 ; 0x344
426: 08 95 ret
428: 08 95 ret
0000042a <OSTaskSuspend>:
42a: 48 2f mov r20, r24
42c: 0f b6 in r0, 0x3f ; 63
42e: 0f 92 push r0
430: 11 24 eor r1, r1
432: f8 94 cli
434: 28 2f mov r18, r24
436: 33 27 eor r19, r19
438: f9 01 movw r30, r18
43a: ee 0f add r30, r30
43c: ff 1f adc r31, r31
43e: ee 0f add r30, r30
440: ff 1f adc r31, r31
442: e2 0f add r30, r18
444: f3 1f adc r31, r19
446: eb 59 subi r30, 0x9B ; 155
448: ff 4f sbci r31, 0xFF ; 255
44a: 12 82 std Z+2, r1 ; 0x02
44c: 13 82 std Z+3, r1 ; 0x03
44e: 81 e0 ldi r24, 0x01 ; 1
450: 90 e0 ldi r25, 0x00 ; 0
452: 02 c0 rjmp .+4 ; 0x458
454: 88 0f add r24, r24
456: 99 1f adc r25, r25
458: 2a 95 dec r18
45a: e2 f7 brpl .-8 ; 0x454
45c: 80 95 com r24
45e: 28 22 and r2, r24
460: 34 16 cp r3, r20
462: 29 f4 brne .+10 ; 0x46e
464: 0f 90 pop r0
466: 0f be out 0x3f, r0 ; 63
468: 11 24 eor r1, r1
46a: da df rcall .-76 ; 0x420
46c: 08 95 ret
46e: 0f 90 pop r0
470: 0f be out 0x3f, r0 ; 63
472: 11 24 eor r1, r1
474: 08 95 ret
476: 08 95 ret
00000478 <OSTaskResume>:
478: 48 2f mov r20, r24
47a: 0f b6 in r0, 0x3f ; 63
47c: 0f 92 push r0
47e: 11 24 eor r1, r1
480: f8 94 cli
482: 28 2f mov r18, r24
484: 33 27 eor r19, r19
486: 81 e0 ldi r24, 0x01 ; 1
488: 90 e0 ldi r25, 0x00 ; 0
48a: 02 2e mov r0, r18
48c: 02 c0 rjmp .+4 ; 0x492
48e: 88 0f add r24, r24
490: 99 1f adc r25, r25
492: 0a 94 dec r0
494: e2 f7 brpl .-8 ; 0x48e
496: 28 2a or r2, r24
498: f9 01 movw r30, r18
49a: ee 0f add r30, r30
49c: ff 1f adc r31, r31
49e: ee 0f add r30, r30
4a0: ff 1f adc r31, r31
4a2: e2 0f add r30, r18
4a4: f3 1f adc r31, r19
4a6: eb 59 subi r30, 0x9B ; 155
4a8: ff 4f sbci r31, 0xFF ; 255
4aa: 12 82 std Z+2, r1 ; 0x02
4ac: 13 82 std Z+3, r1 ; 0x03
4ae: 43 15 cp r20, r3
4b0: 28 f4 brcc .+10 ; 0x4bc
4b2: 0f 90 pop r0
4b4: 0f be out 0x3f, r0 ; 63
4b6: 11 24 eor r1, r1
4b8: b3 df rcall .-154 ; 0x420
4ba: 08 95 ret
4bc: 0f 90 pop r0
4be: 0f be out 0x3f, r0 ; 63
4c0: 11 24 eor r1, r1
4c2: 08 95 ret
4c4: 08 95 ret
000004c6 <OSTimeDly>:
4c6: ac 01 movw r20, r24
4c8: 89 2b or r24, r25
4ca: f9 f0 breq .+62 ; 0x50a
4cc: 0f b6 in r0, 0x3f ; 63
4ce: 0f 92 push r0
4d0: 11 24 eor r1, r1
4d2: f8 94 cli
4d4: 23 2d mov r18, r3
4d6: 33 27 eor r19, r19
4d8: 81 e0 ldi r24, 0x01 ; 1
4da: 90 e0 ldi r25, 0x00 ; 0
4dc: 02 2e mov r0, r18
4de: 02 c0 rjmp .+4 ; 0x4e4
4e0: 88 0f add r24, r24
4e2: 99 1f adc r25, r25
4e4: 0a 94 dec r0
4e6: e2 f7 brpl .-8 ; 0x4e0
4e8: 80 95 com r24
4ea: 28 22 and r2, r24
4ec: f9 01 movw r30, r18
4ee: ee 0f add r30, r30
4f0: ff 1f adc r31, r31
4f2: ee 0f add r30, r30
4f4: ff 1f adc r31, r31
4f6: e2 0f add r30, r18
4f8: f3 1f adc r31, r19
4fa: eb 59 subi r30, 0x9B ; 155
4fc: ff 4f sbci r31, 0xFF ; 255
4fe: 42 83 std Z+2, r20 ; 0x02
500: 53 83 std Z+3, r21 ; 0x03
502: 0f 90 pop r0
504: 0f be out 0x3f, r0 ; 63
506: 11 24 eor r1, r1
508: 8b df rcall .-234 ; 0x420
50a: 08 95 ret
50c: 08 95 ret
0000050e <OSSemCreat>:
50e: 99 27 eor r25, r25
510: fc 01 movw r30, r24
512: ee 0f add r30, r30
514: ff 1f adc r31, r31
516: e8 0f add r30, r24
518: f9 1f adc r31, r25
51a: ee 58 subi r30, 0x8E ; 142
51c: fd 4f sbci r31, 0xFD ; 253
51e: 60 83 st Z, r22
520: 12 82 std Z+2, r1 ; 0x02
522: 11 82 std Z+1, r1 ; 0x01
524: 08 95 ret
00000526 <OSTaskSemPend>:
526: 99 27 eor r25, r25
528: fc 01 movw r30, r24
52a: ee 0f add r30, r30
52c: ff 1f adc r31, r31
52e: e8 0f add r30, r24
530: f9 1f adc r31, r25
532: ee 58 subi r30, 0x8E ; 142
534: fd 4f sbci r31, 0xFD ; 253
536: 81 81 ldd r24, Z+1 ; 0x01
538: 88 23 and r24, r24
53a: 31 f0 breq .+12 ; 0x548
53c: 80 81 ld r24, Z
53e: 88 23 and r24, r24
540: 09 f0 breq .+2 ; 0x544
542: 34 c0 rjmp .+104 ; 0x5ac
544: 81 83 std Z+1, r24 ; 0x01
546: 32 c0 rjmp .+100 ; 0x5ac
548: 0f b6 in r0, 0x3f ; 63
54a: 0f 92 push r0
54c: 11 24 eor r1, r1
54e: f8 94 cli
550: 23 2d mov r18, r3
552: 33 27 eor r19, r19
554: 41 e0 ldi r20, 0x01 ; 1
556: 50 e0 ldi r21, 0x00 ; 0
558: 02 2e mov r0, r18
55a: 02 c0 rjmp .+4 ; 0x560
55c: 44 0f add r20, r20
55e: 55 1f adc r21, r21
560: 0a 94 dec r0
562: e2 f7 brpl .-8 ; 0x55c
564: 82 81 ldd r24, Z+2 ; 0x02
566: 84 2b or r24, r20
568: 82 83 std Z+2, r24 ; 0x02
56a: f9 01 movw r30, r18
56c: ee 0f add r30, r30
56e: ff 1f adc r31, r31
570: ee 0f add r30, r30
572: ff 1f adc r31, r31
574: e2 0f add r30, r18
576: f3 1f adc r31, r19
578: eb 59 subi r30, 0x9B ; 155
57a: ff 4f sbci r31, 0xFF ; 255
57c: 62 83 std Z+2, r22 ; 0x02
57e: 73 83 std Z+3, r23 ; 0x03
580: 84 2f mov r24, r20
582: 80 95 com r24
584: 28 22 and r2, r24
586: 0f 90 pop r0
588: 0f be out 0x3f, r0 ; 63
58a: 11 24 eor r1, r1
58c: 49 df rcall .-366 ; 0x420
58e: 83 2d mov r24, r3
590: 99 27 eor r25, r25
592: fc 01 movw r30, r24
594: ee 0f add r30, r30
596: ff 1f adc r31, r31
598: ee 0f add r30, r30
59a: ff 1f adc r31, r31
59c: e8 0f add r30, r24
59e: f9 1f adc r31, r25
5a0: eb 59 subi r30, 0x9B ; 155
5a2: ff 4f sbci r31, 0xFF ; 255
5a4: 82 81 ldd r24, Z+2 ; 0x02
5a6: 93 81 ldd r25, Z+3 ; 0x03
5a8: 00 97 sbiw r24, 0x00 ; 0
5aa: 11 f0 breq .+4 ; 0x5b0
5ac: 81 e0 ldi r24, 0x01 ; 1
5ae: 90 e0 ldi r25, 0x00 ; 0
5b0: 08 95 ret
5b2: 08 95 ret
000005b4 <OSSemPost>:
5b4: cf 93 push r28
5b6: df 93 push r29
5b8: e8 2f mov r30, r24
5ba: 99 27 eor r25, r25
5bc: dc 01 movw r26, r24
5be: aa 0f add r26, r26
5c0: bb 1f adc r27, r27
5c2: a8 0f add r26, r24
5c4: b9 1f adc r27, r25
5c6: ae 58 subi r26, 0x8E ; 142
5c8: bd 4f sbci r27, 0xFD ; 253
5ca: 8c 91 ld r24, X
5cc: ed 01 movw r28, r26
5ce: 9a 81 ldd r25, Y+2 ; 0x02
5d0: 88 23 and r24, r24
5d2: 51 f0 breq .+20 ; 0x5e8
5d4: 0f b6 in r0, 0x3f ; 63
5d6: 0f 92 push r0
5d8: 11 24 eor r1, r1
5da: f8 94 cli
5dc: 81 e0 ldi r24, 0x01 ; 1
5de: fd 01 movw r30, r26
5e0: 81 83 std Z+1, r24 ; 0x01
5e2: 29 2a or r2, r25
5e4: 12 82 std Z+2, r1 ; 0x02
5e6: 2d c0 rjmp .+90 ; 0x642
5e8: 48 2f mov r20, r24
5ea: 90 fd sbrc r25, 0
5ec: 0e c0 rjmp .+28 ; 0x60a
5ee: 4f 5f subi r20, 0xFF ; 255
5f0: 44 30 cpi r20, 0x04 ; 4
5f2: 58 f4 brcc .+22 ; 0x60a
5f4: ed 01 movw r28, r26
5f6: 8a 81 ldd r24, Y+2 ; 0x02
5f8: 99 27 eor r25, r25
5fa: 04 2e mov r0, r20
5fc: 02 c0 rjmp .+4 ; 0x602
5fe: 95 95 asr r25
600: 87 95 ror r24
602: 0a 94 dec r0
604: e2 f7 brpl .-8 ; 0x5fe
606: 80 ff sbrs r24, 0
608: f2 cf rjmp .-28 ; 0x5ee
60a: 8e 2f mov r24, r30
60c: 99 27 eor r25, r25
60e: 44 30 cpi r20, 0x04 ; 4
610: e0 f4 brcc .+56 ; 0x64a
612: 0f b6 in r0, 0x3f ; 63
614: 0f 92 push r0
616: 11 24 eor r1, r1
618: f8 94 cli
61a: fc 01 movw r30, r24
61c: ee 0f add r30, r30
61e: ff 1f adc r31, r31
620: e8 0f add r30, r24
622: f9 1f adc r31, r25
624: ee 58 subi r30, 0x8E ; 142
626: fd 4f sbci r31, 0xFD ; 253
628: 21 e0 ldi r18, 0x01 ; 1
62a: 30 e0 ldi r19, 0x00 ; 0
62c: 02 c0 rjmp .+4 ; 0x632
62e: 22 0f add r18, r18
630: 33 1f adc r19, r19
632: 4a 95 dec r20
634: e2 f7 brpl .-8 ; 0x62e
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -