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

📄 sensor.lst

📁 一个WSN的树状路由,对于那些学WSN路由方面的朋友应该有说帮助.
💻 LST
📖 第 1 页 / 共 3 页
字号:
 351 007c 1598      		cbi 34-0x20,5
 352               	/* epilogue: frame size=0 */
 353 007e 0895      		ret
 354               	/* epilogue end (size=1) */
 355               	/* function OSH_MAKE_INT1_INPUT size 2 (1) */
 358               	.global	OSH_CLR_INT1_PIN
 360               	OSH_CLR_INT1_PIN:
 128:sensor.c      **** }
 129:sensor.c      **** 
 130:sensor.c      **** void OSH_MAKE_PHOTO_CTL_INPUT(void)
 131:sensor.c      **** {
 132:sensor.c      **** 	OSH_MAKE_INT1_INPUT();
 133:sensor.c      **** }
 134:sensor.c      **** 
 135:sensor.c      **** void OSH_CLR_INT1_PIN(void)
 136:sensor.c      **** {
 362               	.LM39:
 363               	/* prologue: frame size=0 */
 364               	/* prologue end (size=0) */
 137:sensor.c      **** 	* (volatile unsigned char *)(0x03 + 0x20) &= ~(1 << 5);
 366               	.LM40:
 367 0080 1D98      		cbi 35-0x20,5
 368               	/* epilogue: frame size=0 */
 369 0082 0895      		ret
 370               	/* epilogue end (size=1) */
 371               	/* function OSH_CLR_INT1_PIN size 2 (1) */
 374               	.global	SensorExternalTempADCGetData
 376               	SensorExternalTempADCGetData:
 138:sensor.c      **** }
 139:sensor.c      **** 
 140:sensor.c      **** void OSH_CLR_PHOTO_CTL_PIN(void)
 141:sensor.c      **** {
 142:sensor.c      **** 	OSH_CLR_INT1_PIN();
 143:sensor.c      **** }
 144:sensor.c      **** 
 145:sensor.c      **** result_t SensorExternalTempADCGetData(void)
 146:sensor.c      **** {
 378               	.LM41:
 379               	/* prologue: frame size=0 */
 380 0084 CF93      		push r28
 381               	/* prologue end (size=1) */
 382               	.LBB4:
 147:sensor.c      **** 	uint8_t oldState;
 148:sensor.c      **** 	
 149:sensor.c      **** 	{ uint8_t atomicState = AtomicStart();
 384               	.LM42:
 385 0086 0E94 0000 		call AtomicStart
 386 008a 282F      		mov r18,r24
 150:sensor.c      ****     {
 151:sensor.c      **** 		oldState = PhotoTempM_state;
 388               	.LM43:
 389 008c C091 0000 		lds r28,PhotoTempM_state
 152:sensor.c      **** 		if (PhotoTempM_state == PhotoTempM_IDLE) {
 391               	.LM44:
 392 0090 8091 0000 		lds r24,PhotoTempM_state
 393 0094 9091 0000 		lds r25,(PhotoTempM_state)+1
 394 0098 0197      		sbiw r24,1
 395 009a 31F4      		brne .L17
 153:sensor.c      **** 			PhotoTempM_state = PhotoTempM_BUSY;
 397               	.LM45:
 398 009c 82E0      		ldi r24,lo8(2)
 399 009e 90E0      		ldi r25,hi8(2)
 400 00a0 9093 0000 		sts (PhotoTempM_state)+1,r25
 401 00a4 8093 0000 		sts PhotoTempM_state,r24
 402               	.L17:
 154:sensor.c      ****         }
 155:sensor.c      ****     }
 156:sensor.c      ****     AtomicEnd(atomicState); }
 404               	.LM46:
 405 00a8 822F      		mov r24,r18
 406 00aa 0E94 0000 		call AtomicEnd
 407               	.LBE4:
 157:sensor.c      **** 	if (oldState == PhotoTempM_IDLE) {
 409               	.LM47:
 410 00ae C130      		cpi r28,lo8(1)
 411 00b0 61F4      		brne .L18
 412               	.LBB5:
 413               	.LBB6:
 415               	.LM48:
 416 00b2 0E94 0000 		call OSH_CLR_INT1_PIN
 417               	.LBE6:
 418               	.LBE5:
 419               	.LBB7:
 420               	.LBB8:
 422               	.LM49:
 423 00b6 0E94 0000 		call OSH_MAKE_INT1_INPUT
 424               	.LBE8:
 425               	.LBE7:
 158:sensor.c      **** 		OSH_CLR_PHOTO_CTL_PIN();
 159:sensor.c      **** 		OSH_MAKE_PHOTO_CTL_INPUT();
 160:sensor.c      **** 		OSH_SET_TEMP_CTL_PIN();
 427               	.LM50:
 428 00ba 0E94 0000 		call OSH_SET_TEMP_CTL_PIN
 161:sensor.c      **** 		OSH_MAKE_TEMP_CTL_OUTPUT();
 430               	.LM51:
 431 00be 0E94 0000 		call OSH_MAKE_TEMP_CTL_OUTPUT
 162:sensor.c      **** 		return SensorInternalTempADCGetData();
 433               	.LM52:
 434 00c2 0E94 0000 		call SensorInternalTempADCGetData
 435 00c6 9927      		clr r25
 436 00c8 02C0      		rjmp .L16
 437               	.L18:
 163:sensor.c      ****     }
 164:sensor.c      **** 	return FAIL;
 439               	.LM53:
 440 00ca 80E0      		ldi r24,lo8(0)
 441 00cc 90E0      		ldi r25,hi8(0)
 442               	.L16:
 443               	/* epilogue: frame size=0 */
 444 00ce CF91      		pop r28
 445 00d0 0895      		ret
 446               	/* epilogue end (size=2) */
 447               	/* function SensorExternalTempADCGetData size 40 (37) */
 455               	.global	PhotoTempM_ExternalTempADC_default_dataReady
 457               	PhotoTempM_ExternalTempADC_default_dataReady:
 165:sensor.c      **** }
 166:sensor.c      **** 
 167:sensor.c      **** result_t PhotoTempM_ExternalTempADC_default_dataReady(uint16_t data)
 168:sensor.c      **** {
 459               	.LM54:
 460               	/* prologue: frame size=0 */
 461               	/* prologue end (size=0) */
 169:sensor.c      **** 	return SUCCESS;
 170:sensor.c      **** }
 463               	.LM55:
 464 00d2 81E0      		ldi r24,lo8(1)
 465 00d4 90E0      		ldi r25,hi8(1)
 466               	/* epilogue: frame size=0 */
 467 00d6 0895      		ret
 468               	/* epilogue end (size=1) */
 469               	/* function PhotoTempM_ExternalTempADC_default_dataReady size 3 (2) */
 473               	.global	SensorExternalTempADCDataReady
 475               	SensorExternalTempADCDataReady:
 171:sensor.c      **** 
 172:sensor.c      **** result_t SensorExternalTempADCDataReady(uint16_t data)
 173:sensor.c      **** {
 477               	.LM56:
 478               	/* prologue: frame size=0 */
 479               	/* prologue end (size=0) */
 174:sensor.c      **** 	unsigned char result;
 175:sensor.c      ****     result =  SensordataReady(data);
 481               	.LM57:
 482 00d8 0E94 0000 		call SensordataReady
 176:sensor.c      **** 	return SUCCESS;
 177:sensor.c      **** }
 484               	.LM58:
 485 00dc 81E0      		ldi r24,lo8(1)
 486 00de 90E0      		ldi r25,hi8(1)
 487               	/* epilogue: frame size=0 */
 488 00e0 0895      		ret
 489               	/* epilogue end (size=1) */
 490               	/* function SensorExternalTempADCDataReady size 5 (4) */
 494               	.global	SensorInternalTempADCDataReady
 496               	SensorInternalTempADCDataReady:
 178:sensor.c      **** 
 179:sensor.c      **** result_t SensorInternalTempADCDataReady(uint16_t data)
 180:sensor.c      **** {
 498               	.LM59:
 499               	/* prologue: frame size=0 */
 500 00e2 1F93      		push r17
 501 00e4 CF93      		push r28
 502 00e6 DF93      		push r29
 503               	/* prologue end (size=3) */
 504 00e8 EC01      		movw r28,r24
 505               	.LBB9:
 181:sensor.c      **** 	uint8_t oldState;
 182:sensor.c      **** 	
 183:sensor.c      **** 	{ uint8_t atomicState = AtomicStart();
 507               	.LM60:
 508 00ea 0E94 0000 		call AtomicStart
 509 00ee 282F      		mov r18,r24
 184:sensor.c      ****     {
 185:sensor.c      **** 		oldState = PhotoTempM_state;
 511               	.LM61:
 512 00f0 1091 0000 		lds r17,PhotoTempM_state
 186:sensor.c      **** 		if (PhotoTempM_state == PhotoTempM_BUSY) {
 514               	.LM62:
 515 00f4 8091 0000 		lds r24,PhotoTempM_state
 516 00f8 9091 0000 		lds r25,(PhotoTempM_state)+1
 517 00fc 0297      		sbiw r24,2
 518 00fe 31F4      		brne .L24
 187:sensor.c      **** 			PhotoTempM_state = PhotoTempM_IDLE;
 520               	.LM63:
 521 0100 81E0      		ldi r24,lo8(1)
 522 0102 90E0      		ldi r25,hi8(1)
 523 0104 9093 0000 		sts (PhotoTempM_state)+1,r25
 524 0108 8093 0000 		sts PhotoTempM_state,r24
 525               	.L24:
 188:sensor.c      ****         }
 189:sensor.c      ****     }
 190:sensor.c      ****     AtomicEnd(atomicState); }
 527               	.LM64:
 528 010c 822F      		mov r24,r18
 529 010e 0E94 0000 		call AtomicEnd
 530               	.LBE9:
 191:sensor.c      **** 	if (oldState == PhotoTempM_BUSY) {
 532               	.LM65:
 533 0112 1230      		cpi r17,lo8(2)
 534 0114 21F4      		brne .L25
 192:sensor.c      **** 		
 193:sensor.c      **** 		
 194:sensor.c      **** 		return SensorExternalTempADCDataReady(data);
 536               	.LM66:
 537 0116 CE01      		movw r24,r28
 538 0118 0E94 0000 		call SensorExternalTempADCDataReady
 539 011c 14C0      		rjmp .L29
 540               	.L25:
 195:sensor.c      ****     }
 196:sensor.c      **** 	else {
 197:sensor.c      **** 		if (oldState == PhotoTempM_CONTINUOUS) {
 542               	.LM67:
 543 011e 1330      		cpi r17,lo8(3)
 544 0120 A1F4      		brne .L26
 545               	.LBB10:
 198:sensor.c      **** 			int ret;
 199:sensor.c      **** 			
 200:sensor.c      **** 			ret = SensorExternalTempADCDataReady(data);
 547               	.LM68:
 548 0122 CE01      		movw r24,r28
 549 0124 0E94 0000 		call SensorExternalTempADCDataReady
 550 0128 C82F      		mov r28,r24
 551 012a DD27      		clr r29
 201:sensor.c      **** 			if (ret == FAIL) {
 553               	.LM69:
 554 012c 2097      		sbiw r28,0
 555 012e 51F4      		brne .L28
 556               	.LBB11:
 202:sensor.c      **** 				
 203:sensor.c      **** 				
 204:sensor.c      **** 				{ uint8_t atomicState = AtomicStart();
 558               	.LM70:
 559 0130 0E94 0000 		call AtomicStart
 205:sensor.c      **** 				{
 206:sensor.c      **** 					PhotoTempM_state = PhotoTempM_IDLE;
 561               	.LM71:
 562 0134 21E0      		ldi r18,lo8(1)
 563 0136 30E0      		ldi r19,hi8(1)
 564 0138 3093 0000 		sts (PhotoTempM_state)+1,r19
 565 013c 2093 0000 		sts PhotoTempM_state,r18
 207:sensor.c      **** 				}
 208:sensor.c      **** 				AtomicEnd(atomicState); }
 567               	.LM72:
 568 0140 0E94 0000 		call AtomicEnd
 569               	.L28:
 570               	.LBE11:
 209:sensor.c      **** 			}
 210:sensor.c      **** 			return ret;
 572               	.LM73:
 573 0144 8C2F      		mov r24,r28
 574               	.L29:
 575 0146 9927      		clr r25
 576 0148 02C0      		rjmp .L23
 577               	.L26:
 578               	.LBE10:
 211:sensor.c      **** 		}
 212:sensor.c      ****     }
 213:sensor.c      **** 	return FAIL;
 580               	.LM74:
 581 014a 80E0      		ldi r24,lo8(0)
 582 014c 90E0      		ldi r25,hi8(0)
 583               	.L23:
 584               	/* epilogue: frame size=0 */
 585 014e DF91      		pop r29
 586 0150 CF91      		pop r28
 587 0152 1F91      		pop r17
 588 0154 0895      		ret
 589               	/* epilogue end (size=4) */
 590               	/* function SensorInternalTempADCDataReady size 59 (52) */
 601               	.global	SensorExternalPhotoADCDataReady
 603               	SensorExternalPhotoADCDataReady:
 214:sensor.c      **** }
 215:sensor.c      **** 
 216:sensor.c      **** result_t SensorExternalPhotoADCDataReady(uint16_t data)
 217:sensor.c      **** {
 605               	.LM75:
 606               	/* prologue: frame size=0 */
 607               	/* prologue end (size=0) */
 218:sensor.c      **** 	unsigned char result;
 219:sensor.c      ****     result =  SensordataReady(data);
 609               	.LM76:
 610 0156 0E94 0000 		call SensordataReady
 220:sensor.c      **** 	return result;
 221:sensor.c      **** }
 612               	.LM77:
 613 015a 9927      		clr r25
 614               	/* epilogue: frame size=0 */
 615 015c 0895      		ret
 616               	/* epilogue end (size=1) */
 617               	/* function SensorExternalPhotoADCDataReady size 4 (3) */
 620               	.global	SensorPhoOStdControlInit
 622               	SensorPhoOStdControlInit:
 222:sensor.c      **** 
 223:sensor.c      **** 
 224:sensor.c      **** result_t SensorPhoOStdControlInit(void)
 225:sensor.c      **** {
 624               	.LM78:
 625               	/* prologue: frame size=0 */
 626               	/* prologue end (size=0) */
 226:sensor.c      **** 	ADCBindPort(OS_ADC_PHOTO_PORT, OSH_ACTUAL_PHOTO_PORT);
 628               	.LM79:
 629 015e 61E0      		ldi r22,lo8(1)
 630 0160 862F      		mov r24,r22
 631 0162 0E94 0000 		call ADCBindPort
 632               	.LBB12:
 227:sensor.c      **** 	{ uint8_t atomicState = AtomicStart();
 634               	.LM80:
 635 0166 0E94 0000 		call AtomicStart
 228:sensor.c      ****     {
 229:sensor.c      **** 		PhotoTempM_state = PhotoTempM_IDLE;
 637               	.LM81:
 638 016a 21E0      		ldi r18,lo8(1)
 639 016c 30E0      		ldi r19,hi8(1)
 640 016e 3093 0000 		sts (PhotoTempM_state)+1,r19
 641 0172 2093 0000 		sts PhotoTempM_state,r18
 230:sensor.c      ****     }
 231:sensor.c      ****     AtomicEnd(atomicState); }
 643               	.LM82:
 644 0176 0E94 0000 		call AtomicEnd

⌨️ 快捷键说明

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