📄 timer.txt
字号:
000ae0 e5900008 LDR r0,[r0,#8]
000ae4 e3800850 ORR r0,r0,#0x500000
000ae8 e3a01451 MOV r1,#0x51000000
000aec e5810008 STR r0,[r1,#8]
;;;338
;;;339 //Auto reload,Inverter off,No operation,Dead zone disable,Start
;;;340
;;;341 while(1)
000af0 e1a00000 NOP
|L1.2804|
000af4 e1a00000 NOP
;;;342 {
;;;343 if(variable4 == 8)
000af8 e59f01ac LDR r0,|L1.3244|
000afc e5900000 LDR r0,[r0,#0] ; variable4
000b00 e3500008 CMP r0,#8
000b04 1a000000 BNE |L1.2828|
;;;344 break;
000b08 ea000000 B |L1.2832|
;;;345 }
|L1.2828|
000b0c eafffff8 B |L1.2804|
;;;346
;;;347 //Delay(1); //To compensate timer error(<1 tick period)
;;;348
;;;349 rTCON = 0x0; //Stop Timers
|L1.2832|
000b10 e3a00000 MOV r0,#0
000b14 e3a01451 MOV r1,#0x51000000
000b18 e5810008 STR r0,[r1,#8]
;;;350
;;;351 if(variable4==8 && variable3==4 && variable2==2 && variable1==1 && variable0==1)
000b1c e59f0188 LDR r0,|L1.3244|
000b20 e5900000 LDR r0,[r0,#0] ; variable4
000b24 e3500008 CMP r0,#8
000b28 1a000012 BNE |L1.2936|
000b2c e59f017c LDR r0,|L1.3248|
000b30 e5900000 LDR r0,[r0,#0] ; variable3
000b34 e3500004 CMP r0,#4
000b38 1a00000e BNE |L1.2936|
000b3c e59f0170 LDR r0,|L1.3252|
000b40 e5900000 LDR r0,[r0,#0] ; variable2
000b44 e3500002 CMP r0,#2
000b48 1a00000a BNE |L1.2936|
000b4c e59f0164 LDR r0,|L1.3256|
000b50 e5900000 LDR r0,[r0,#0] ; variable1
000b54 e3500001 CMP r0,#1
000b58 1a000006 BNE |L1.2936|
000b5c e59f0158 LDR r0,|L1.3260|
000b60 e5900000 LDR r0,[r0,#0] ; variable0
000b64 e3500001 CMP r0,#1
000b68 1a000002 BNE |L1.2936|
;;;352 {
;;;353 Uart_Printf("Timer 0,1,2,3,4 Auto-reload Interrupt Test => OK!\n");
000b6c e28f0f63 ADR r0,|L1.3328|
000b70 ebfffffe BL Uart_Printf
000b74 ea000001 B |L1.2944|
;;;354 }
;;;355 else
;;;356 {
;;;357 Uart_Printf("Timer 0,1,2,3,4 Auto-reload Interrupt Test => Fail............\n");
|L1.2936|
000b78 e28f0f6d ADR r0,|L1.3380|
000b7c ebfffffe BL Uart_Printf
;;;358 }
;;;359 Uart_Printf("Timer0: %d (=1)\nTimer1: %d (=1)\nTimer2: %d (=2)\nTimer3: %d (=4)\nTimer4: %d (=8)\n",
|L1.2944|
000b80 e59f0124 LDR r0,|L1.3244|
000b84 e5903000 LDR r3,[r0,#0] ; variable4
000b88 e59f0120 LDR r0,|L1.3248|
000b8c e5902000 LDR r2,[r0,#0] ; variable3
000b90 e59f011c LDR r0,|L1.3252|
000b94 e88d000c STMIA sp,{r2,r3}
000b98 e5903000 LDR r3,[r0,#0] ; variable2
000b9c e59f0114 LDR r0,|L1.3256|
000ba0 e5902000 LDR r2,[r0,#0] ; variable1
000ba4 e59f0110 LDR r0,|L1.3260|
000ba8 e5901000 LDR r1,[r0,#0] ; variable0
000bac e59f01c0 LDR r0,|L1.3444|
000bb0 ebfffffe BL Uart_Printf
;;;360 variable0,variable1,variable2,variable3,variable4);
;;;361
;;;362 /* OneShot Test */
;;;363 variable0 = 0;variable1 = 0;variable2 = 0;variable3 = 0;variable4 = 0;
000bb4 e3a00000 MOV r0,#0
000bb8 e59f10fc LDR r1,|L1.3260|
000bbc e5810000 STR r0,[r1,#0] ; variable0
000bc0 e3a00000 MOV r0,#0
000bc4 e59f10ec LDR r1,|L1.3256|
000bc8 e5810000 STR r0,[r1,#0] ; variable1
000bcc e3a00000 MOV r0,#0
000bd0 e59f10dc LDR r1,|L1.3252|
000bd4 e5810000 STR r0,[r1,#0] ; variable2
000bd8 e3a00000 MOV r0,#0
000bdc e59f10cc LDR r1,|L1.3248|
000be0 e5810000 STR r0,[r1,#0] ; variable3
000be4 e3a00000 MOV r0,#0
000be8 e59f10bc LDR r1,|L1.3244|
000bec e5810000 STR r0,[r1,#0] ; variable4
;;;364
;;;365 rTCON = rTCON & ~(0xffffff) | 0x6aaa0a;
000bf0 e3a00451 MOV r0,#0x51000000
000bf4 e5900008 LDR r0,[r0,#8]
000bf8 e20004ff AND r0,r0,#0xff000000
000bfc e51f156c LDR r1,|L1.1688|
000c00 e1800001 ORR r0,r0,r1
000c04 e3a01451 MOV r1,#0x51000000
000c08 e5810008 STR r0,[r1,#8]
;;;366 //Auto reload, Inverter off, Manual update, Dead zone disable, Stop
;;;367 rTCON = rTCON & ~(0xffffff) | 0x1 |(0x1)<<8| (0x1)<<12 | (0x1)<<16 | (0x1)<<20 ;
000c0c e3a00451 MOV r0,#0x51000000
000c10 e5900008 LDR r0,[r0,#8]
000c14 e20004ff AND r0,r0,#0xff000000
000c18 e59f1158 LDR r1,|L1.3448|
000c1c e1800001 ORR r0,r0,r1
000c20 e3a01451 MOV r1,#0x51000000
000c24 e5810008 STR r0,[r1,#8]
;;;368 //T0,1,2,3,4= One-shot,Inverter off,No operation,Dead zone disable,Start
;;;369
;;;370 while(variable0 == 0);
000c28 e1a00000 NOP
|L1.3116|
000c2c e59f0088 LDR r0,|L1.3260|
000c30 e5900000 LDR r0,[r0,#0] ; variable0
000c34 e3500000 CMP r0,#0
000c38 0afffffb BEQ |L1.3116|
;;;371
;;;372 Delay(1); //To compensate timer error(<1 tick period)
000c3c e3a00001 MOV r0,#1
000c40 ebfffffe BL Delay
;;;373 rTCON = 0x0; //One-shot, Inverter off, No operation, Dead zone disable, Stop
000c44 e3a00000 MOV r0,#0
000c48 e3a01451 MOV r1,#0x51000000
000c4c e5810008 STR r0,[r1,#8]
;;;374
;;;375 if(variable4==1 && variable3==1 && variable2==1 && variable1==1 && variable0==1)
000c50 e59f0054 LDR r0,|L1.3244|
000c54 e5900000 LDR r0,[r0,#0] ; variable4
000c58 e3500001 CMP r0,#1
000c5c 1a000052 BNE |L1.3500|
000c60 e59f0048 LDR r0,|L1.3248|
000c64 e5900000 LDR r0,[r0,#0] ; variable3
000c68 e3500001 CMP r0,#1
000c6c 1a00004e BNE |L1.3500|
000c70 e59f003c LDR r0,|L1.3252|
000c74 e5900000 LDR r0,[r0,#0] ; variable2
000c78 e3500001 CMP r0,#1
000c7c 1a00004a BNE |L1.3500|
000c80 e59f0030 LDR r0,|L1.3256|
000c84 e5900000 LDR r0,[r0,#0] ; variable1
000c88 e3500001 CMP r0,#1
000c8c 1a000046 BNE |L1.3500|
000c90 e59f0024 LDR r0,|L1.3260|
000c94 e5900000 LDR r0,[r0,#0] ; variable0
000c98 e3500001 CMP r0,#1
000c9c 1a000042 BNE |L1.3500|
;;;376 {
;;;377 Uart_Printf("Timer 0,1,2,3,4 One-shot Interrupt Test => OK!\n");
000ca0 e28f00d4 ADR r0,|L1.3452|
000ca4 ebfffffe BL Uart_Printf
000ca8 ea000041 B |L1.3508|
|L1.3244|
000cac 0000001c DCD ||.bss$2|| + 28
|L1.3248|
000cb0 00000018 DCD ||.bss$2|| + 24
|L1.3252|
000cb4 00000014 DCD ||.bss$2|| + 20
|L1.3256|
000cb8 00000010 DCD ||.bss$2|| + 16
|L1.3260|
000cbc 0000000c DCD ||.bss$2|| + 12
|L1.3264|
000cc0 00000000 DCD Timer0Done
|L1.3268|
000cc4 31fff000 DCD 0x31fff000
|L1.3272|
000cc8 00000000 DCD Timer1Done
|L1.3276|
000ccc 00000000 DCD Timer2Done
|L1.3280|
000cd0 00000000 DCD Timer3Done
|L1.3284|
000cd4 00000000 DCD Timer4Done
|L1.3288|
000cd8 69545b0a DCB "\n[Ti"
000cdc 2072656d DCB "mer "
000ce0 2c312c30 DCB "0,1,"
000ce4 2c332c32 DCB "2,3,"
000ce8 6e492034 DCB "4 In"
000cec 72726574 DCB "terr"
000cf0 20747075 DCB "upt "
000cf4 74736554 DCB "Test"
000cf8 000a0a5d DCB "]\n\n\0"
|L1.3324|
000cfc 00007530 DCD 0x00007530
|L1.3328|
000d00 656d6954 DCB "Time"
000d04 2c302072 DCB "r 0,"
000d08 2c322c31 DCB "1,2,"
000d0c 20342c33 DCB "3,4 "
000d10 6f747541 DCB "Auto"
000d14 6c65722d DCB "-rel"
000d18 2064616f DCB "oad "
000d1c 65746e49 DCB "Inte"
000d20 70757272 DCB "rrup"
000d24 65542074 DCB "t Te"
000d28 3d207473 DCB "st ="
000d2c 4b4f203e DCB "> OK"
000d30 00000a21 DCB "!\n\0\0"
|L1.3380|
000d34 656d6954 DCB "Time"
000d38 2c302072 DCB "r 0,"
000d3c 2c322c31 DCB "1,2,"
000d40 20342c33 DCB "3,4 "
000d44 6f747541 DCB "Auto"
000d48 6c65722d DCB "-rel"
000d4c 2064616f DCB "oad "
000d50 65746e49 DCB "Inte"
000d54 70757272 DCB "rrup"
000d58 65542074 DCB "t Te"
000d5c 3d207473 DCB "st ="
000d60 6146203e DCB "> Fa"
000d64 2e2e6c69 DCB "il.."
000d68 2e2e2e2e DCB "...."
000d6c 2e2e2e2e DCB "...."
000d70 000a2e2e DCB "..\n\0"
|L1.3444|
000d74 000001d4 DCD ||.constdata$1|| + 468
|L1.3448|
000d78 00111101 DCD 0x00111101
|L1.3452|
000d7c 656d6954 DCB "Time"
000d80 2c302072 DCB "r 0,"
000d84 2c322c31 DCB "1,2,"
000d88 20342c33 DCB "3,4 "
000d8c 2d656e4f DCB "One-"
000d90 746f6873 DCB "shot"
000d94 746e4920 DCB " Int"
000d98 75727265 DCB "erru"
000d9c 54207470 DCB "pt T"
000da0 20747365 DCB "est "
000da4 4f203e3d DCB "=> O"
000da8 000a214b DCB "K!\n\0"
;;;378 }
;;;379 else
;;;380 {
;;;381 Uart_Printf("Timer 0,1,2,3,4 One-shot Interrupt Test => Fail............\n");
|L1.3500|
000dac e28f0064 ADR r0,|L1.3608|
000db0 ebfffffe BL Uart_Printf
;;;382 }
;;;383 Uart_Printf("Timer0: %d (=1)\nTimer1: %d (=1)\nTimer2: %d (=1)\nTimer3: %d (=1)\nTimer4: %d (=1)\n",
|L1.3508|
000db4 e51f0110 LDR r0,|L1.3244|
000db8 e5903000 LDR r3,[r0,#0] ; variable4
000dbc e51f0114 LDR r0,|L1.3248|
000dc0 e5902000 LDR r2,[r0,#0] ; variable3
000dc4 e51f0118 LDR r0,|L1.3252|
000dc8 e88d000c STMIA sp,{r2,r3}
000dcc e5903000 LDR r3,[r0,#0] ; variable2
000dd0 e51f0120 LDR r0,|L1.3256|
000dd4 e5902000 LDR r2,[r0,#0] ; variable1
000dd8 e51f0124 LDR r0,|L1.3260|
000ddc e5901000 LDR r1,[r0,#0] ; variable0
000de0 e59f0070 LDR r0,|L1.3672|
000de4 ebfffffe BL Uart_Printf
;;;384 variable0,variable1,variable2,variable3,variable4);
;;;385
;;;386 /* Timer0,1,2,3,4 Interrupt Service is masked */
;;;3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -