📄 bsp.txt
字号:
;;;291 status = DEF_TRUE;
;;;292 }
;;;293 break;
;;;294 case 2:
;;;295 pin = GPIO_ReadInputDataBit(GPIOD, GPIOD_PB_KEY3);
000134 2110 MOVS r1,#0x10
000136 f7fffffe BL GPIO_ReadInputDataBit
;;;296 if (pin == 0) {
00013a b900 CBNZ r0,|L1.318|
;;;297 status = DEF_TRUE;
00013c 2401 MOVS r4,#1
|L1.318|
;;;298 }
;;;299 break;//mod by liur 14:02 2009-3-20
;;;300 default:
;;;301 break;
;;;302 }
;;;303
;;;304 return (status);
00013e 4620 MOV r0,r4
;;;305 }
000140 bd10 POP {r4,pc}
|L1.322|
000142 2108 MOVS r1,#8 ;289
000144 f7fffffe BL GPIO_ReadInputDataBit
000148 2800 CMP r0,#0 ;290
00014a d1f8 BNE |L1.318|
00014c 2401 MOVS r4,#1 ;291
00014e e7f6 B |L1.318|
;;;306
ENDP
Joystick_GetStatus PROC
;;;354 CPU_INT32U Joystick_GetStatus (void)
;;;355 {
000150 b570 PUSH {r4-r6,lr}
;;;356 CPU_BOOLEAN pin;
;;;357 CPU_BOOLEAN status;
;;;358
;;;359 status = 0;
000152 2400 MOVS r4,#0
;;;360
;;;361 pin = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_RIGHT);
000154 4d89 LDR r5,|L1.892|
000156 f44f5180 MOV r1,#0x1000
00015a 4628 MOV r0,r5
00015c f7fffffe BL GPIO_ReadInputDataBit
;;;362 if (pin == 0) {
000160 b900 CBNZ r0,|L1.356|
;;;363 status |= JOYSTICK_LEFT;
000162 2404 MOVS r4,#4
|L1.356|
;;;364 }
;;;365
;;;366 pin = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_LEFT);
000164 f44f5100 MOV r1,#0x2000
000168 4628 MOV r0,r5
00016a f7fffffe BL GPIO_ReadInputDataBit
;;;367 if (pin == 0) {
00016e b908 CBNZ r0,|L1.372|
;;;368 status |= JOYSTICK_RIGHT;
000170 f0440408 ORR r4,r4,#8
|L1.372|
;;;369 }
;;;370
;;;371 pin = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_UP);
000174 f44f4180 MOV r1,#0x4000
000178 4628 MOV r0,r5
00017a f7fffffe BL GPIO_ReadInputDataBit
;;;372 if (pin == 0) {
00017e b908 CBNZ r0,|L1.388|
;;;373 status |= JOYSTICK_UP;
000180 f0440401 ORR r4,r4,#1
|L1.388|
;;;374 }
;;;375
;;;376 pin = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_DOWN);
000184 f44f4100 MOV r1,#0x8000
000188 4628 MOV r0,r5
00018a f7fffffe BL GPIO_ReadInputDataBit
;;;377 if (pin == 0) {
00018e b908 CBNZ r0,|L1.404|
;;;378 status |= JOYSTICK_DOWN;
000190 f0440402 ORR r4,r4,#2
|L1.404|
;;;379 }
;;;380
;;;381 pin = GPIO_ReadInputDataBit(GPIOD, GPIOD_JOY_SEL);
000194 f44f6100 MOV r1,#0x800
000198 4628 MOV r0,r5
00019a f7fffffe BL GPIO_ReadInputDataBit
;;;382 if (pin == 0) {
00019e b908 CBNZ r0,|L1.420|
;;;383 status |= JOYSTICK_CENTER;
0001a0 f0440410 ORR r4,r4,#0x10
|L1.420|
;;;384 }
;;;385
;;;386 return (status);
0001a4 4620 MOV r0,r4
;;;387 }
0001a6 bd70 POP {r4-r6,pc}
;;;388
ENDP
LED_On PROC
;;;430 {
;;;431 switch (led) {
0001a8 4601 MOV r1,r0
0001aa 4875 LDR r0,|L1.896|
0001ac 2905 CMP r1,#5
0001ae d213 BCS |L1.472|
0001b0 e8dff001 TBB [pc,r1]
0001b4 0306090c DCB 0x03,0x06,0x09,0x0c
0001b8 0f00 DCB 0x0f,0x00
;;;432 case 0:
;;;433 GPIO_SetBits(GPIOC, GPIOC_LED1 | GPIOC_LED2 | GPIOC_LED3 | GPIOC_LED4);
0001ba 21f0 MOVS r1,#0xf0
0001bc f7ffbffe B.W GPIO_SetBits
;;;434 break;
;;;435
;;;436 case 1:
;;;437 GPIO_SetBits(GPIOC, GPIOC_LED1);
0001c0 2110 MOVS r1,#0x10
0001c2 f7ffbffe B.W GPIO_SetBits
;;;438 break;
;;;439
;;;440 case 2:
;;;441 GPIO_SetBits(GPIOC, GPIOC_LED2);
0001c6 2120 MOVS r1,#0x20
0001c8 f7ffbffe B.W GPIO_SetBits
;;;442 break;
;;;443
;;;444 case 3:
;;;445 GPIO_SetBits(GPIOC, GPIOC_LED3);
0001cc 2140 MOVS r1,#0x40
0001ce f7ffbffe B.W GPIO_SetBits
;;;446 break;
;;;447
;;;448 case 4:
;;;449 GPIO_SetBits(GPIOC, GPIOC_LED4);
0001d2 2180 MOVS r1,#0x80
0001d4 f7ffbffe B.W GPIO_SetBits
|L1.472|
;;;450 break;
;;;451
;;;452 default:
;;;453 break;
;;;454 }
;;;455 }
0001d8 4770 BX lr
;;;456
ENDP
LED_Off PROC
;;;473 {
;;;474 switch (led) {
0001da 4601 MOV r1,r0
0001dc 4868 LDR r0,|L1.896|
0001de 2905 CMP r1,#5
0001e0 d213 BCS |L1.522|
0001e2 e8dff001 TBB [pc,r1]
0001e6 0306090c DCB 0x03,0x06,0x09,0x0c
0001ea 0f00 DCB 0x0f,0x00
;;;475 case 0:
;;;476 GPIO_ResetBits(GPIOC, GPIOC_LED1 | GPIOC_LED2 | GPIOC_LED3 | GPIOC_LED4);
0001ec 21f0 MOVS r1,#0xf0
0001ee f7ffbffe B.W GPIO_ResetBits
;;;477 break;
;;;478
;;;479 case 1:
;;;480 GPIO_ResetBits(GPIOC, GPIOC_LED1);
0001f2 2110 MOVS r1,#0x10
0001f4 f7ffbffe B.W GPIO_ResetBits
;;;481 break;
;;;482
;;;483 case 2:
;;;484 GPIO_ResetBits(GPIOC, GPIOC_LED2);
0001f8 2120 MOVS r1,#0x20
0001fa f7ffbffe B.W GPIO_ResetBits
;;;485 break;
;;;486
;;;487 case 3:
;;;488 GPIO_ResetBits(GPIOC, GPIOC_LED3);
0001fe 2140 MOVS r1,#0x40
000200 f7ffbffe B.W GPIO_ResetBits
;;;489 break;
;;;490
;;;491 case 4:
;;;492 GPIO_ResetBits(GPIOC, GPIOC_LED4);
000204 2180 MOVS r1,#0x80
000206 f7ffbffe B.W GPIO_ResetBits
|L1.522|
;;;493 break;
;;;494
;;;495 default:
;;;496 break;
;;;497 }
;;;498 }
00020a 4770 BX lr
;;;499
ENDP
LED_Toggle PROC
;;;515 void LED_Toggle (CPU_INT08U led)
;;;516 {
00020c b570 PUSH {r4-r6,lr}
00020e 4606 MOV r6,r0
;;;517 CPU_INT32U pins;
;;;518
;;;519
;;;520 pins = GPIO_ReadOutputData(GPIOC);
000210 4d5b LDR r5,|L1.896|
000212 4628 MOV r0,r5
000214 f7fffffe BL GPIO_ReadOutputData
000218 4604 MOV r4,r0
;;;521
;;;522 switch (led) {
00021a 2e05 CMP r6,#5
00021c d273 BCS |L1.774|
00021e e8dff006 TBB [pc,r6]
000222 03364554 DCB 0x03,0x36,0x45,0x54
000226 6300 DCB 0x63,0x00
;;;523 case 0:
;;;524 if ((pins & GPIOC_LED1) == 0) {
000228 f0140f10 TST r4,#0x10
00022c d104 BNE |L1.568|
;;;525 GPIO_SetBits( GPIOC, GPIOC_LED1);
00022e 2110 MOVS r1,#0x10
000230 4628 MOV r0,r5
000232 f7fffffe BL GPIO_SetBits
000236 e003 B |L1.576|
|L1.568|
;;;526 } else {
;;;527 GPIO_ResetBits(GPIOC, GPIOC_LED1);
000238 2110 MOVS r1,#0x10
00023a 4628 MOV r0,r5
00023c f7fffffe BL GPIO_ResetBits
|L1.576|
;;;528 }
;;;529 if ((pins & GPIOC_LED2) == 0) {
000240 f0140f20 TST r4,#0x20
000244 d104 BNE |L1.592|
;;;530 GPIO_SetBits( GPIOC, GPIOC_LED2);
000246 2120 MOVS r1,#0x20
000248 4628 MOV r0,r5
00024a f7fffffe BL GPIO_SetBits
00024e e003 B |L1.600|
|L1.592|
;;;531 } else {
;;;532 GPIO_ResetBits(GPIOC, GPIOC_LED2);
000250 2120 MOVS r1,#0x20
000252 4628 MOV r0,r5
000254 f7fffffe BL GPIO_ResetBits
|L1.600|
;;;533 }
;;;534 if ((pins & GPIOC_LED3) == 0) {
000258 f0140f40 TST r4,#0x40
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -