?? user.s
字號:
.dbend
.dbfunc s AppTask1 _AppTask1 fV
; p_arg -> R20,R21
.even
_AppTask1:
xcall push_gset1
movw R20,R16
.dbline -1
.dbline 157
;
; /*
; *********************************************************************************************************
; * TASK #1
; *********************************************************************************************************
; */
;
; static void AppTask1(void *p_arg)
; {
.dbline 158
; p_arg = p_arg;
xjmp L9
L8:
.dbline 159
.dbline 160
ldi R16,2
xcall _LED_Toggle
.dbline 161
ldi R16,10
ldi R17,0
xcall _OSTimeDly
.dbline 162
L9:
.dbline 159
xjmp L8
X1:
.dbline -2
.dbline 163
; while (TRUE) {
; LED_Toggle(2);
; OSTimeDly(OS_TICKS_PER_SEC / 5);
; }
; }
L7:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r p_arg 20 pV
.dbend
.dbfunc s AppTask2 _AppTask2 fV
; p_arg -> R20,R21
.even
_AppTask2:
xcall push_gset1
movw R20,R16
.dbline -1
.dbline 172
;
; /*
; *********************************************************************************************************
; * TASK #2
; *********************************************************************************************************
; */
;
; static void AppTask2(void *p_arg)
; {
.dbline 173
; p_arg = p_arg;
xjmp L13
L12:
.dbline 174
.dbline 175
ldi R16,3
xcall _LED_Toggle
.dbline 176
ldi R16,25
ldi R17,0
xcall _OSTimeDly
.dbline 177
L13:
.dbline 174
xjmp L12
X2:
.dbline -2
.dbline 178
; while (TRUE) {
; LED_Toggle(3);
; OSTimeDly(OS_TICKS_PER_SEC / 2);
; }
; }
L11:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r p_arg 20 pV
.dbend
.dbfunc s AppIOInit _AppIOInit fV
.even
_AppIOInit:
.dbline -1
.dbline 187
;
; /*
; *********************************************************************************************************
; * SETUP THE I/Os
; *********************************************************************************************************
; */
;
; static void AppIOInit (void)
; {
.dbline 188
; DDRD = 0xFF; /* All PORTD pins are outputs */
ldi R24,255
out 0x11,R24
.dbline 189
; PORTD = 0xFF;
out 0x12,R24
.dbline -2
.dbline 190
; }
L15:
.dbline 0 ; func end
ret
.dbend
.dbfunc e OSTickISR_Init _OSTickISR_Init fV
.even
_OSTickISR_Init::
.dbline -1
.dbline 199
;
; /*
; *********************************************************************************************************
; * SETUP THE TICK RATE
; *********************************************************************************************************
; */
;
; void OSTickISR_Init (void)
; {
.dbline 200
; TCCR0 = 0x07; /* Set TIMER0 prescaler to CLK/1024 */
ldi R24,7
out 0x33,R24
.dbline 201
; TIMSK = 0x01; /* Enable TIMER0 overflow interrupt */
ldi R24,1
out 0x37,R24
.dbline -2
.dbline 202
; }
L16:
.dbline 0 ; func end
ret
.dbend
.dbfunc e OSTickISR_Handler _OSTickISR_Handler fV
.even
_OSTickISR_Handler::
.dbline -1
.dbline 212
;
;
; /*
; *********************************************************************************************************
; * SETUP THE TICK RATE
; *********************************************************************************************************
; */
;
; void OSTickISR_Handler (void)
; {
.dbline 213
; TCNT0 = 256 - (CPU_CLK_FREQ / OS_TICKS_PER_SEC / 1024);
ldi R24,185
out 0x32,R24
.dbline 214
; OSTimeTick();
.dbline -2
.dbline 215
; }
L17:
.dbline 0 ; func end
xjmp _OSTimeTick
.dbend
.dbfunc s LED_Toggle _LED_Toggle fV
; cpu_sr -> R20
; led -> R22
.even
_LED_Toggle:
xcall push_gset2
mov R22,R16
.dbline -1
.dbline 224
;
; /*
; *********************************************************************************************************
; * TOGGLE LED
; *********************************************************************************************************
; */
;
; static void LED_Toggle (INT8U led)
; {
.dbline 230
; #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
; OS_CPU_SR cpu_sr;
; #endif
;
;
; OS_ENTER_CRITICAL();
xcall _OS_CPU_SR_Save
mov R20,R16
.dbline 231
clr R23
cpi R22,1
ldi R30,0
cpc R23,R30
breq L22
cpi R22,2
ldi R30,0
cpc R23,R30
breq L23
cpi R22,3
ldi R30,0
cpc R23,R30
breq L24
cpi R22,4
ldi R30,0
cpc R23,R30
breq L25
xjmp L19
X3:
.dbline 231
; switch (led) {
L22:
.dbline 233
; case 1:
; PORTD ^= 0x01;
ldi R24,1
in R2,0x12
eor R2,R24
out 0x12,R2
.dbline 234
xjmp L20
L23:
.dbline 237
;
; case 2:
; PORTD ^= 0x02;
ldi R24,2
in R2,0x12
eor R2,R24
out 0x12,R2
.dbline 238
; break;
xjmp L20
L24:
.dbline 241
;
; case 3:
; PORTD ^= 0x04;
ldi R24,4
in R2,0x12
eor R2,R24
out 0x12,R2
.dbline 242
; break;
xjmp L20
L25:
.dbline 245
;
; case 4:
; PORTD ^= 0x08;
ldi R24,8
in R2,0x12
eor R2,R24
out 0x12,R2
.dbline 246
; break;
L19:
L20:
.dbline 248
; }
; OS_EXIT_CRITICAL();
mov R16,R20
xcall _OS_CPU_SR_Restore
.dbline -2
.dbline 249
; }
L18:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r cpu_sr 20 c
.dbsym r led 22 c
.dbend
.area bss(ram, con, rel)
.dbfile C:\UCOS-II_AVR_ICC\RTOSIC~1\source\User.c
_AppTask2Stk::
.blkb 256
.dbsym e AppTask2Stk _AppTask2Stk A[256:256]c
_AppTask1Stk::
.blkb 256
.dbsym e AppTask1Stk _AppTask1Stk A[256:256]c
_AppTaskStartStk::
.blkb 256
.dbsym e AppTaskStartStk _AppTaskStartStk A[256:256]c
.area func_lit
PL_AppTask2: .word `_AppTask2
PL_AppTask1: .word `_AppTask1
PL_AppTaskStart: .word `_AppTaskStart
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -