⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lss

📁 example lis302 lpc2142
💻 LSS
📖 第 1 页 / 共 5 页
字号:
	WriteLis302Register(CLICK_THSZ, 0xff );
    21f0:	e3a0003c 	mov	r0, #60	; 0x3c
    21f4:	e3a010ff 	mov	r1, #255	; 0xff
    21f8:	eb0000e2 	bl	2588 <WriteLis302Register>
	WriteLis302Register(CLICK_timelimit, 0x5 );
    21fc:	e3a0003d 	mov	r0, #61	; 0x3d
    2200:	e3a01005 	mov	r1, #5	; 0x5
    2204:	eb0000df 	bl	2588 <WriteLis302Register>
	WriteLis302Register(CLICK_latency, 0xf5 );
    2208:	e3a0003e 	mov	r0, #62	; 0x3e
    220c:	e3a010f5 	mov	r1, #245	; 0xf5
    2210:	eb0000dc 	bl	2588 <WriteLis302Register>
	WriteLis302Register(CLICK_window, 0xb5 );
    2214:	e3a0003f 	mov	r0, #63	; 0x3f
    2218:	e3a010b5 	mov	r1, #181	; 0xb5
    221c:	eb0000d9 	bl	2588 <WriteLis302Register>

	WriteLis302Register(Ctrl_Reg3, I1CFG0|I1CFG1|I1CFG2 );
    2220:	e3a00022 	mov	r0, #34	; 0x22
    2224:	e3a01007 	mov	r1, #7	; 0x7
    2228:	eb0000d6 	bl	2588 <WriteLis302Register>

	//Make sure Accelerometer is not selected
	UnselectAccel();
    222c:	e3a0324e 	mov	r3, #-536870908	; 0xe0000004
    2230:	e283390a 	add	r3, r3, #163840	; 0x28000
    2234:	e3a02080 	mov	r2, #128	; 0x80
    2238:	e5832000 	str	r2, [r3]
	
}
    223c:	e24bd00c 	sub	sp, fp, #12	; 0xc
    2240:	e89d6800 	ldmia	sp, {fp, sp, lr}
    2244:	e12fff1e 	bx	lr

00002248 <iniciar_SPI>:

void iniciar_SPI(void)
{
    2248:	e1a0c00d 	mov	ip, sp
    224c:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    2250:	e24cb004 	sub	fp, ip, #4	; 0x4
	IODIR0  |= 0x00000080;         // P0.7 SS_LIS302DL
    2254:	e3a0228e 	mov	r2, #-536870904	; 0xe0000008
    2258:	e282290a 	add	r2, r2, #163840	; 0x28000
    225c:	e3a0328e 	mov	r3, #-536870904	; 0xe0000008
    2260:	e283390a 	add	r3, r3, #163840	; 0x28000
    2264:	e5933000 	ldr	r3, [r3]
    2268:	e3833080 	orr	r3, r3, #128	; 0x80
    226c:	e5823000 	str	r3, [r2]
	UnselectAccel();
    2270:	e3a0324e 	mov	r3, #-536870908	; 0xe0000004
    2274:	e283390a 	add	r3, r3, #163840	; 0x28000
    2278:	e3a02080 	mov	r2, #128	; 0x80
    227c:	e5832000 	str	r2, [r3]
	printf("INICIO SPI:\n\r");
    2280:	e59f0040 	ldr	r0, [pc, #64]	; 22c8 <.text+0x2c8>
    2284:	eb0006ce 	bl	3dc4 <__printf_from_arm>
	SPI0_Init();			//Select pin functions for SPI signals.
    2288:	eb0000d8 	bl	25f0 <SPI0_Init>
	S0SPCCR = 64;           // SCK = 1 MHz (60MHz / 64 ~= 1Mhz)
    228c:	e3a032ce 	mov	r3, #-536870900	; 0xe000000c
    2290:	e2833802 	add	r3, r3, #131072	; 0x20000
    2294:	e3a02040 	mov	r2, #64	; 0x40
    2298:	e5c32000 	strb	r2, [r3]
	S0SPCR  = 0x20;			//antes 0x20
    229c:	e3a0320e 	mov	r3, #-536870912	; 0xe0000000
    22a0:	e2833802 	add	r3, r3, #131072	; 0x20000
    22a4:	e3a02020 	mov	r2, #32	; 0x20
    22a8:	e1c320b0 	strh	r2, [r3]
	  
	
	UnselectAccel();
    22ac:	e3a0324e 	mov	r3, #-536870908	; 0xe0000004
    22b0:	e283390a 	add	r3, r3, #163840	; 0x28000
    22b4:	e3a02080 	mov	r2, #128	; 0x80
    22b8:	e5832000 	str	r2, [r3]
		
}
    22bc:	e24bd00c 	sub	sp, fp, #12	; 0xc
    22c0:	e89d6800 	ldmia	sp, {fp, sp, lr}
    22c4:	e12fff1e 	bx	lr
    22c8:	00003e7c 	andeq	r3, r0, ip, ror lr

000022cc <esperando>:

void esperando(void)
{
    22cc:	e1a0c00d 	mov	ip, sp
    22d0:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    22d4:	e24cb004 	sub	fp, ip, #4	; 0x4
	for (i=0 ; i< 100000; i++);	
    22d8:	e59f204c 	ldr	r2, [pc, #76]	; 232c <.text+0x32c>
    22dc:	e3a03000 	mov	r3, #0	; 0x0
    22e0:	e5823000 	str	r3, [r2]
    22e4:	ea000004 	b	22fc <esperando+0x30>
    22e8:	e59f303c 	ldr	r3, [pc, #60]	; 232c <.text+0x32c>
    22ec:	e5933000 	ldr	r3, [r3]
    22f0:	e2832001 	add	r2, r3, #1	; 0x1
    22f4:	e59f3030 	ldr	r3, [pc, #48]	; 232c <.text+0x32c>
    22f8:	e5832000 	str	r2, [r3]
    22fc:	e59f3028 	ldr	r3, [pc, #40]	; 232c <.text+0x32c>
    2300:	e5932000 	ldr	r2, [r3]
    2304:	e3a03b61 	mov	r3, #99328	; 0x18400
    2308:	e2833fa7 	add	r3, r3, #668	; 0x29c
    230c:	e2833003 	add	r3, r3, #3	; 0x3
    2310:	e1520003 	cmp	r2, r3
    2314:	9afffff3 	bls	22e8 <esperando+0x1c>
	printf("\n\rFIN\n\r");
    2318:	e59f0010 	ldr	r0, [pc, #16]	; 2330 <.text+0x330>
    231c:	eb0006a8 	bl	3dc4 <__printf_from_arm>
}
    2320:	e24bd00c 	sub	sp, fp, #12	; 0xc
    2324:	e89d6800 	ldmia	sp, {fp, sp, lr}
    2328:	e12fff1e 	bx	lr
    232c:	40000010 	andmi	r0, r0, r0, lsl r0
    2330:	00003e8c 	andeq	r3, r0, ip, lsl #29

00002334 <main>:

int main(void)
{
    2334:	e1a0c00d 	mov	ip, sp
    2338:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    233c:	e24cb004 	sub	fp, ip, #4	; 0x4
	LEDS_init();	/* init the LEDs for this board  */
    2340:	eb0006a2 	bl	3dd0 <__LEDS_init_from_arm>
	VCOM_init();	/* init the USB Virtual COM port */
    2344:	eb000223 	bl	2bd8 <VCOM_init>
	   	
	printf_output(&VCOM_putchar);	/* define the output for the printf/puts */
    2348:	e59f008c 	ldr	r0, [pc, #140]	; 23dc <.text+0x3dc>
    234c:	eb0006a2 	bl	3ddc <__printf_output_from_arm>

	
	LEDS_on(LED3);
    2350:	e3a00601 	mov	r0, #1048576	; 0x100000
    2354:	eb0006a3 	bl	3de8 <__LEDS_on_from_arm>
	count = 0;
    2358:	e59f2080 	ldr	r2, [pc, #128]	; 23e0 <.text+0x3e0>
    235c:	e3a03000 	mov	r3, #0	; 0x0
    2360:	e5823000 	str	r3, [r2]
	
	
	while (1) 
	{
		
		k = VCOM_getchar();
    2364:	eb0001d7 	bl	2ac8 <VCOM_getchar>
    2368:	e1a03000 	mov	r3, r0
    236c:	e1a02003 	mov	r2, r3
    2370:	e59f306c 	ldr	r3, [pc, #108]	; 23e4 <.text+0x3e4>
    2374:	e5832000 	str	r2, [r3]
		
		LEDS_on(LED1);
    2378:	e3a00501 	mov	r0, #4194304	; 0x400000
    237c:	eb000699 	bl	3de8 <__LEDS_on_from_arm>
		
		print_banner();
    2380:	ebffff7a 	bl	2170 <print_banner>
		
	
		printf("inicia spi\n\r");
    2384:	e59f005c 	ldr	r0, [pc, #92]	; 23e8 <.text+0x3e8>
    2388:	eb00068d 	bl	3dc4 <__printf_from_arm>
		iniciar_SPI();
    238c:	ebffffad 	bl	2248 <iniciar_SPI>
		esperando();
    2390:	ebffffcd 	bl	22cc <esperando>
		
		printf("Iniciando acelerometro \n\r");
    2394:	e59f0050 	ldr	r0, [pc, #80]	; 23ec <.text+0x3ec>
    2398:	eb000689 	bl	3dc4 <__printf_from_arm>
		initializeAccelerometer(1);
    239c:	e3a00001 	mov	r0, #1	; 0x1
    23a0:	ebffff83 	bl	21b4 <initializeAccelerometer>
		esperando();
    23a4:	ebffffc8 	bl	22cc <esperando>
		WriteLis302Register(Ctrl_Reg1,0x6f);
    23a8:	e3a00020 	mov	r0, #32	; 0x20
    23ac:	e3a0106f 	mov	r1, #111	; 0x6f
    23b0:	eb000074 	bl	2588 <WriteLis302Register>
		
		printf("Leer quien soy: %x\n\r",ReadLis302Register(WHO_AM_I));
    23b4:	e3a0000f 	mov	r0, #15	; 0xf
    23b8:	eb000056 	bl	2518 <ReadLis302Register>
    23bc:	e1a03000 	mov	r3, r0
    23c0:	e59f0028 	ldr	r0, [pc, #40]	; 23f0 <.text+0x3f0>
    23c4:	e1a01003 	mov	r1, r3
    23c8:	eb00067d 	bl	3dc4 <__printf_from_arm>
		
		LEDS_off(LED1);
    23cc:	e3a00501 	mov	r0, #4194304	; 0x400000
    23d0:	eb000687 	bl	3df4 <__LEDS_off_from_arm>
		accelX();
    23d4:	eb00001f 	bl	2458 <accelX>
	}
    23d8:	eaffffe1 	b	2364 <main+0x30>
    23dc:	00002a7c 	andeq	r2, r0, ip, ror sl
    23e0:	4000000c 	andmi	r0, r0, ip
    23e4:	40000014 	andmi	r0, r0, r4, lsl r0
    23e8:	00003e94 	muleq	r0, r4, lr
    23ec:	00003ea4 	andeq	r3, r0, r4, lsr #29
    23f0:	00003ec0 	andeq	r3, r0, r0, asr #29

000023f4 <initAccel>:
#include "LPC214x.h"
#include "LIS302.h"
#include "spi0.h"

void initAccel(char range){
    23f4:	e1a0c00d 	mov	ip, sp
    23f8:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    23fc:	e24cb004 	sub	fp, ip, #4	; 0x4
    2400:	e24dd004 	sub	sp, sp, #4	; 0x4
    2404:	e1a03000 	mov	r3, r0
    2408:	e54b3010 	strb	r3, [fp, #-16]
    if ( 1 == range ) {
    240c:	e55b3010 	ldrb	r3, [fp, #-16]
    2410:	e3530001 	cmp	r3, #1	; 0x1
    2414:	1a000003 	bne	2428 <initAccel+0x34>
		//Use Full Scale
	    WriteLis302Register(Ctrl_Reg1, FS | PD | XEN | YEN | ZEN);
    2418:	e3a00020 	mov	r0, #32	; 0x20
    241c:	e3a01067 	mov	r1, #103	; 0x67
    2420:	eb000058 	bl	2588 <WriteLis302Register>
    2424:	ea000002 	b	2434 <initAccel+0x40>
	} else {
	    WriteLis302Register(Ctrl_Reg1, PD | XEN | YEN | ZEN);
    2428:	e3a00020 	mov	r0, #32	; 0x20
    242c:	e3a01047 	mov	r1, #71	; 0x47
    2430:	eb000054 	bl	2588 <WriteLis302Register>
	}
	//WriteLis302Register(Ctrl_Reg2, HP_FF_WU1 | FDS | HP_coeff1 | HP_coeff2);
	WriteLis302Register(Ctrl_Reg3, 0x00 );
    2434:	e3a00022 	mov	r0, #34	; 0x22
    2438:	e3a01000 	mov	r1, #0	; 0x0
    243c:	eb000051 	bl	2588 <WriteLis302Register>

	WriteLis302Register(FF_WU_CFG_1, 0x50 );
    2440:	e3a00030 	mov	r0, #48	; 0x30
    2444:	e3a01050 	mov	r1, #80	; 0x50
    2448:	eb00004e 	bl	2588 <WriteLis302Register>
}
    244c:	e24bd00c 	sub	sp, fp, #12	; 0xc
    2450:	e89d6800 	ldmia	sp, {fp, sp, lr}
    2454:	e12fff1e 	bx	lr

00002458 <accelX>:

char accelX(void){
    2458:	e1a0c00d 	mov	ip, sp
    245c:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    2460:	e24cb004 	sub	fp, ip, #4	; 0x4
	return ReadLis302Register(OutX);
    2464:	e3a00029 	mov	r0, #41	; 0x29
    2468:	eb00002a 	bl	2518 <ReadLis302Register>
    246c:	e1a03000 	mov	r3, r0
}
    2470:	e1a00003 	mov	r0, r3
    2474:	e24bd00c 	sub	sp, fp, #12	; 0xc
    2478:	e89d6800 	ldmia	sp, {fp, sp, lr}
    247c:	e12fff1e 	bx	lr

00002480 <accelY>:

char accelY(void){
    2480:	e1a0c00d 	mov	ip, sp
    2484:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    2488:	e24cb004 	sub	fp, ip, #4	; 0x4
	return ReadLis302Register(OutY);
    248c:	e3a0002b 	mov	r0, #43	; 0x2b
    2490:	eb000020 	bl	2518 <ReadLis302Register>
    2494:	e1a03000 	mov	r3, r0
}
    2498:	e1a00003 	mov	r0, r3
    249c:	e24bd00c 	sub	sp, fp, #12	; 0xc
    24a0:	e89d6800 	ldmia	sp, {fp, sp, lr}
    24a4:	e12fff1e 	bx	lr

000024a8 <accelZ>:

char accelZ(void){
    24a8:	e1a0c00d 	mov	ip, sp
    24ac:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    24b0:	e24cb004 	sub	fp, ip, #4	; 0x4
	return ReadLis302Register(OutZ);
    24b4:	e3a0002d 	mov	r0, #45	; 0x2d
    24b8:	eb000016 	bl	2518 <ReadLis302Register>
    24bc:	e1a03000 	mov	r3, r0
}
    24c0:	e1a00003 	mov	r0, r3
    24c4:	e24bd00c 	sub	sp, fp, #12	; 0xc
    24c8:	e89d6800 	ldmia	sp, {fp, sp, lr}
    24cc:	e12fff1e 	bx	lr

000024d0 <powerdownAccel>:

void powerdownAccel(void){
    24d0:	e1a0c00d 	mov	ip, sp
    24d4:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    24d8:	e24cb004 	sub	fp, ip, #4	; 0x4
	SelectAccel();
    24dc:	e3a032ce 	mov	r3, #-536870900	; 0xe000000c
    24e0:	e283390a 	add	r3, r3, #163840	; 0x28000
    24e4:	e3a02080 	mov	r2, #128	; 0x80
    24e8:	e5832000 	str	r2, [r3]
	SPI0_send(WRITE | Ctrl_Reg1);
    24ec:	e3a00020 	mov	r0, #32	; 0x20
    24f0:	eb00005c 	bl	2668 <SPI0_send>
	SPI0_send(~PD);
    24f4:	e3a000bf 	mov	r0, #191	; 0xbf
    24f8:	eb00005a 	bl	2668 <SPI0_send>
	UnselectAccel();
    24fc:	e3a0324e 	mov	r3, #-536870908	; 0xe0000004
    2500:	e283390a 	add	r3, r3, #163840	; 0x28000
    2504:	e3a02080 	mov	r2, #128	; 0x80
    2508:	e5832000 	str	r2, [r3]
}
    250c:	e24bd00c 	sub	sp, fp, #12	; 0xc
    2510:	e89d6800 	ldmia	sp, {fp, sp, lr}
    2514:	e12fff1e 	bx	lr

00002518 <ReadLis302Register>:

char ReadLis302Register(char register_name){
    2518:	e1a0c00d 	mov	ip, sp
    251c:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    2520:	e24cb004 	sub	fp, ip, #4	; 0x4
    2524:	e24dd008 	sub	sp, sp, #8	; 0x8
    2528:	e1a03000 	mov	r3, r0
    252c:	e54b3014 	strb	r3, [fp, #-20]
	char register_contents;

	SelectAccel();
    2530:	e3a032ce 	mov	r3, #-536870900	; 0xe000000c
    2534:	e283390a 	add	r3, r3, #163840	; 0x28000
    2538:	e3a02080 	mov	r2, #128	; 0x80
    253c:	e5832000 	str	r2, [r3]
	SPI0_send(READ | register_name);
    2540:	e55b3014 	ldrb	r3, [fp, #-20]
    2544:	e1e03c83 	mvn	r3, r3, lsl #25
    2548:	e1e03ca3 	mvn	r3, r3, lsr #25
    254c:	e20330ff 	and	r3, r3, #255	; 0xff
    2550:	e1a00003 	mov	r0, r3
    2554:	eb000043 	bl	2668 <SPI0_send>
	register_contents=SPI0_recv();
    2558:	eb00004e 	bl	2698 <SPI0_recv>
    255c:	e1a03000 	mov	r3, r0
    2560:	e54b300d 	strb	r3, [fp, #-13]
	UnselectAccel();
    2564:	e3a0324e 	mov	r3, #-536870908	; 0xe0000004
    2568:	e283390a 	add	r3, r3, #163840	; 0x28000
    256c:	e3a02080 	mov	r2, #128	; 0x80

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -