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

📄 lis302.lst

📁 example lis302 lpc2142
💻 LST
字号:
   1              		.file	"LIS302.c"
   9              	.Ltext0:
  10              		.align	2
  11              		.global	initAccel
  13              	initAccel:
  14              	.LFB2:
  15              		.file 1 "LIS302.c"
   1:LIS302.c      **** //**********************************************************
   2:LIS302.c      **** //
   3:LIS302.c      **** //             LIS30 Accelerometer Library
   4:LIS302.c      **** //						LIS302.c
   5:LIS302.c      **** //                     Ryan Owens
   6:LIS302.c      **** //			Copyright Sparkfun Electronics
   7:LIS302.c      **** //
   8:LIS302.c      **** //**********************************************************
   9:LIS302.c      **** //NOTE: SelectAccel and UnSelectAccel macros must be externally
  10:LIS302.c      **** //		defined.  They should assert and de-assert the CS line
  11:LIS302.c      **** //		respectively.
  12:LIS302.c      **** 
  13:LIS302.c      **** #include "LPC214x.h"
  14:LIS302.c      **** #include "LIS302.h"
  15:LIS302.c      **** #include "spi0.h"
  16:LIS302.c      **** 
  17:LIS302.c      **** void initAccel(char range){
  16              	 Function supports interworking.
  17              		@ args = 0, pretend = 0, frame = 4
  18              		@ frame_needed = 1, uses_anonymous_args = 0
  19              		mov	ip, sp
  20 0000 0DC0A0E1 	.LCFI0:
  21              		stmfd	sp!, {fp, ip, lr, pc}
  22 0004 00D82DE9 	.LCFI1:
  23              		sub	fp, ip, #4
  24 0008 04B04CE2 	.LCFI2:
  25              		sub	sp, sp, #4
  26 000c 04D04DE2 	.LCFI3:
  27              		mov	r3, r0
  28 0010 0030A0E1 		strb	r3, [fp, #-16]
  29 0014 10304BE5 		.loc 1 18 0
  18:LIS302.c      ****     if ( 1 == range ) {
  30              	 #-16]	@ zero_extendqisi2
  31 0018 10305BE5 		cmp	r3, #1
  32 001c 010053E3 		bne	.L2
  33 0020 0300001A 		.loc 1 20 0
  19:LIS302.c      **** 		//Use Full Scale
  20:LIS302.c      **** 	    WriteLis302Register(Ctrl_Reg1, FS | PD | XEN | YEN | ZEN);
  34              		r0, #32
  35 0024 2000A0E3 		mov	r1, #103
  36 0028 6710A0E3 		bl	WriteLis302Register
  37 002c FEFFFFEB 		b	.L4
  38 0030 020000EA 	.L2:
  39              		.loc 1 22 0
  21:LIS302.c      **** 	} else {
  22:LIS302.c      **** 	    WriteLis302Register(Ctrl_Reg1, PD | XEN | YEN | ZEN);
  40              	0, #32
  41 0034 2000A0E3 		mov	r1, #71
  42 0038 4710A0E3 		bl	WriteLis302Register
  43 003c FEFFFFEB 	.L4:
  44              		.loc 1 25 0
  23:LIS302.c      **** 	}
  24:LIS302.c      **** 	//WriteLis302Register(Ctrl_Reg2, HP_FF_WU1 | FDS | HP_coeff1 | HP_coeff2);
  25:LIS302.c      **** 	WriteLis302Register(Ctrl_Reg3, 0x00 );
  45              	r0, #34
  46 0040 2200A0E3 		mov	r1, #0
  47 0044 0010A0E3 		bl	WriteLis302Register
  48 0048 FEFFFFEB 		.loc 1 27 0
  26:LIS302.c      **** 
  27:LIS302.c      **** 	WriteLis302Register(FF_WU_CFG_1, 0x50 );
  49              		r0, #48
  50 004c 3000A0E3 		mov	r1, #80
  51 0050 5010A0E3 		bl	WriteLis302Register
  52 0054 FEFFFFEB 		.loc 1 28 0
  28:LIS302.c      **** }
  53              		sp, fp, #12
  54 0058 0CD04BE2 		ldmfd	sp, {fp, sp, lr}
  55 005c 00689DE8 		bx	lr
  56 0060 1EFF2FE1 	.LFE2:
  58              		.align	2
  59              		.global	accelX
  61              	accelX:
  62              	.LFB3:
  63              		.loc 1 30 0
  29:LIS302.c      **** 
  30:LIS302.c      **** char accelX(void){
  64              	 supports interworking.
  65              		@ args = 0, pretend = 0, frame = 0
  66              		@ frame_needed = 1, uses_anonymous_args = 0
  67              		mov	ip, sp
  68 0064 0DC0A0E1 	.LCFI4:
  69              		stmfd	sp!, {fp, ip, lr, pc}
  70 0068 00D82DE9 	.LCFI5:
  71              		sub	fp, ip, #4
  72 006c 04B04CE2 	.LCFI6:
  73              		.loc 1 31 0
  31:LIS302.c      **** 	return ReadLis302Register(OutX);
  74              	41
  75 0070 2900A0E3 		bl	ReadLis302Register
  76 0074 FEFFFFEB 		mov	r3, r0
  77 0078 0030A0E1 		.loc 1 32 0
  32:LIS302.c      **** }
  78              		r0, r3
  79 007c 0300A0E1 		sub	sp, fp, #12
  80 0080 0CD04BE2 		ldmfd	sp, {fp, sp, lr}
  81 0084 00689DE8 		bx	lr
  82 0088 1EFF2FE1 	.LFE3:
  84              		.align	2
  85              		.global	accelY
  87              	accelY:
  88              	.LFB4:
  89              		.loc 1 34 0
  33:LIS302.c      **** 
  34:LIS302.c      **** char accelY(void){
  90              	supports interworking.
  91              		@ args = 0, pretend = 0, frame = 0
  92              		@ frame_needed = 1, uses_anonymous_args = 0
  93              		mov	ip, sp
  94 008c 0DC0A0E1 	.LCFI7:
  95              		stmfd	sp!, {fp, ip, lr, pc}
  96 0090 00D82DE9 	.LCFI8:
  97              		sub	fp, ip, #4
  98 0094 04B04CE2 	.LCFI9:
  99              		.loc 1 35 0
  35:LIS302.c      **** 	return ReadLis302Register(OutY);
 100              	43
 101 0098 2B00A0E3 		bl	ReadLis302Register
 102 009c FEFFFFEB 		mov	r3, r0
 103 00a0 0030A0E1 		.loc 1 36 0
  36:LIS302.c      **** }
 104              		r0, r3
 105 00a4 0300A0E1 		sub	sp, fp, #12
 106 00a8 0CD04BE2 		ldmfd	sp, {fp, sp, lr}
 107 00ac 00689DE8 		bx	lr
 108 00b0 1EFF2FE1 	.LFE4:
 110              		.align	2
 111              		.global	accelZ
 113              	accelZ:
 114              	.LFB5:
 115              		.loc 1 38 0
  37:LIS302.c      **** 
  38:LIS302.c      **** char accelZ(void){
 116              	supports interworking.
 117              		@ args = 0, pretend = 0, frame = 0
 118              		@ frame_needed = 1, uses_anonymous_args = 0
 119              		mov	ip, sp
 120 00b4 0DC0A0E1 	.LCFI10:
 121              		stmfd	sp!, {fp, ip, lr, pc}
 122 00b8 00D82DE9 	.LCFI11:
 123              		sub	fp, ip, #4
 124 00bc 04B04CE2 	.LCFI12:
 125              		.loc 1 39 0
  39:LIS302.c      **** 	return ReadLis302Register(OutZ);
 126              	45
 127 00c0 2D00A0E3 		bl	ReadLis302Register
 128 00c4 FEFFFFEB 		mov	r3, r0
 129 00c8 0030A0E1 		.loc 1 40 0
  40:LIS302.c      **** }
 130              		r0, r3
 131 00cc 0300A0E1 		sub	sp, fp, #12
 132 00d0 0CD04BE2 		ldmfd	sp, {fp, sp, lr}
 133 00d4 00689DE8 		bx	lr
 134 00d8 1EFF2FE1 	.LFE5:
 136              		.align	2
 137              		.global	powerdownAccel
 139              	powerdownAccel:
 140              	.LFB6:
 141              		.loc 1 42 0
  41:LIS302.c      **** 
  42:LIS302.c      **** void powerdownAccel(void){
 142              	supports interworking.
 143              		@ args = 0, pretend = 0, frame = 0
 144              		@ frame_needed = 1, uses_anonymous_args = 0
 145              		mov	ip, sp
 146 00dc 0DC0A0E1 	.LCFI13:
 147              		stmfd	sp!, {fp, ip, lr, pc}
 148 00e0 00D82DE9 	.LCFI14:
 149              		sub	fp, ip, #4
 150 00e4 04B04CE2 	.LCFI15:
 151              		.loc 1 43 0
  43:LIS302.c      **** 	SelectAccel();
 152              	-536870900
 153 00e8 CE32A0E3 		add	r3, r3, #163840
 154 00ec 0A3983E2 		mov	r2, #128
 155 00f0 8020A0E3 		str	r2, [r3, #0]
 156 00f4 002083E5 		.loc 1 44 0
  44:LIS302.c      **** 	SPI0_send(WRITE | Ctrl_Reg1);
 157              	r0, #32
 158 00f8 2000A0E3 		bl	SPI0_send
 159 00fc FEFFFFEB 		.loc 1 45 0
  45:LIS302.c      **** 	SPI0_send(~PD);
 160              	v	r0, #191
 161 0100 BF00A0E3 		bl	SPI0_send
 162 0104 FEFFFFEB 		.loc 1 46 0
  46:LIS302.c      **** 	UnselectAccel();
 163              	v	r3, #-536870908
 164 0108 4E32A0E3 		add	r3, r3, #163840
 165 010c 0A3983E2 		mov	r2, #128
 166 0110 8020A0E3 		str	r2, [r3, #0]
 167 0114 002083E5 		.loc 1 47 0
  47:LIS302.c      **** }
 168              	sp, fp, #12
 169 0118 0CD04BE2 		ldmfd	sp, {fp, sp, lr}
 170 011c 00689DE8 		bx	lr
 171 0120 1EFF2FE1 	.LFE6:
 173              		.align	2
 174              		.global	ReadLis302Register
 176              	ReadLis302Register:
 177              	.LFB7:
 178              		.loc 1 49 0
  48:LIS302.c      **** 
  49:LIS302.c      **** char ReadLis302Register(char register_name){
 179              	 supports interworking.
 180              		@ args = 0, pretend = 0, frame = 8
 181              		@ frame_needed = 1, uses_anonymous_args = 0
 182              		mov	ip, sp
 183 0124 0DC0A0E1 	.LCFI16:
 184              		stmfd	sp!, {fp, ip, lr, pc}
 185 0128 00D82DE9 	.LCFI17:
 186              		sub	fp, ip, #4
 187 012c 04B04CE2 	.LCFI18:
 188              		sub	sp, sp, #8
 189 0130 08D04DE2 	.LCFI19:
 190              		mov	r3, r0
 191 0134 0030A0E1 		strb	r3, [fp, #-20]
 192 0138 14304BE5 		.loc 1 52 0
  50:LIS302.c      **** 	char register_contents;
  51:LIS302.c      **** 
  52:LIS302.c      **** 	SelectAccel();
 193              	870900
 194 013c CE32A0E3 		add	r3, r3, #163840
 195 0140 0A3983E2 		mov	r2, #128
 196 0144 8020A0E3 		str	r2, [r3, #0]
 197 0148 002083E5 		.loc 1 53 0
  53:LIS302.c      **** 	SPI0_send(READ | register_name);
 198              		r3, [fp, #-20]
 199 014c 14305BE5 		mvn	r3, r3, asl #25
 200 0150 833CE0E1 		mvn	r3, r3, lsr #25
 201 0154 A33CE0E1 		and	r3, r3, #255
 202 0158 FF3003E2 		mov	r0, r3
 203 015c 0300A0E1 		bl	SPI0_send
 204 0160 FEFFFFEB 		.loc 1 54 0
  54:LIS302.c      **** 	register_contents=SPI0_recv();
 205              	0_recv
 206 0164 FEFFFFEB 		mov	r3, r0
 207 0168 0030A0E1 		strb	r3, [fp, #-13]
 208 016c 0D304BE5 		.loc 1 55 0
  55:LIS302.c      **** 	UnselectAccel();
 209              		r3, #-536870908
 210 0170 4E32A0E3 		add	r3, r3, #163840
 211 0174 0A3983E2 		mov	r2, #128
 212 0178 8020A0E3 		str	r2, [r3, #0]
 213 017c 002083E5 		.loc 1 56 0
  56:LIS302.c      **** 	return register_contents;
 214              		r3, [fp, #-13]	@ zero_extendqisi2
 215 0180 0D305BE5 		.loc 1 57 0
  57:LIS302.c      **** }
 216              	ov	r0, r3
 217 0184 0300A0E1 		sub	sp, fp, #12
 218 0188 0CD04BE2 		ldmfd	sp, {fp, sp, lr}
 219 018c 00689DE8 		bx	lr
 220 0190 1EFF2FE1 	.LFE7:
 222              		.align	2
 223              		.global	WriteLis302Register
 225              	WriteLis302Register:
 226              	.LFB8:
 227              		.loc 1 59 0
  58:LIS302.c      **** 
  59:LIS302.c      **** void WriteLis302Register(char register_name, char register_value){
 228              	supports interworking.
 229              		@ args = 0, pretend = 0, frame = 8
 230              		@ frame_needed = 1, uses_anonymous_args = 0
 231              		mov	ip, sp
 232 0194 0DC0A0E1 	.LCFI20:
 233              		stmfd	sp!, {fp, ip, lr, pc}
 234 0198 00D82DE9 	.LCFI21:
 235              		sub	fp, ip, #4
 236 019c 04B04CE2 	.LCFI22:
 237              		sub	sp, sp, #8
 238 01a0 08D04DE2 	.LCFI23:
 239              		mov	r3, r0
 240 01a4 0030A0E1 		mov	r2, r1
 241 01a8 0120A0E1 		strb	r3, [fp, #-16]
 242 01ac 10304BE5 		mov	r3, r2
 243 01b0 0230A0E1 		strb	r3, [fp, #-20]
 244 01b4 14304BE5 		.loc 1 60 0
  60:LIS302.c      **** 	SelectAccel();
 245              	900
 246 01b8 CE32A0E3 		add	r3, r3, #163840
 247 01bc 0A3983E2 		mov	r2, #128
 248 01c0 8020A0E3 		str	r2, [r3, #0]
 249 01c4 002083E5 		.loc 1 61 0
  61:LIS302.c      **** 	SPI0_send(WRITE | register_name);
 250              		r3, [fp, #-16]	@ zero_extendqisi2
 251 01c8 10305BE5 		mov	r0, r3
 252 01cc 0300A0E1 		bl	SPI0_send
 253 01d0 FEFFFFEB 		.loc 1 62 0
  62:LIS302.c      **** 	SPI0_send(register_value);
 254              	b	r3, [fp, #-20]	@ zero_extendqisi2
 255 01d4 14305BE5 		mov	r0, r3
 256 01d8 0300A0E1 		bl	SPI0_send
 257 01dc FEFFFFEB 		.loc 1 63 0
  63:LIS302.c      **** 	UnselectAccel();
 258              		r3, #-536870908
 259 01e0 4E32A0E3 		add	r3, r3, #163840
 260 01e4 0A3983E2 		mov	r2, #128
 261 01e8 8020A0E3 		str	r2, [r3, #0]
 262 01ec 002083E5 		.loc 1 64 0
  64:LIS302.c      **** }
 263              	sp, fp, #12
 264 01f0 0CD04BE2 		ldmfd	sp, {fp, sp, lr}
 265 01f4 00689DE8 		bx	lr
 266 01f8 1EFF2FE1 	.LFE8:
 268              		.section	.debug_frame,"",%progbits
 460              		.section	.debug_loc,"",%progbits
DEFINED SYMBOLS
                            *ABS*:00000000 LIS302.c
  e:\Temp/ccGqbaaa.s:13     .text:00000000 initAccel
  e:\Temp/ccGqbaaa.s:20     .text:00000000 $a
  e:\Temp/ccGqbaaa.s:226    .text:00000194 WriteLis302Register
  e:\Temp/ccGqbaaa.s:62     .text:00000064 accelX
  e:\Temp/ccGqbaaa.s:177    .text:00000124 ReadLis302Register
  e:\Temp/ccGqbaaa.s:88     .text:0000008c accelY
  e:\Temp/ccGqbaaa.s:114    .text:000000b4 accelZ
  e:\Temp/ccGqbaaa.s:140    .text:000000dc powerdownAccel

UNDEFINED SYMBOLS
SPI0_send
SPI0_recv

⌨️ 快捷键说明

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