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

📄 sensor.lst

📁 adhoc信息节点程序源代码(点对多点)——for atmega128
💻 LST
📖 第 1 页 / 共 3 页
字号:
 375               	.LM41:
 376               	/* prologue: frame size=0 */
 377               	/* prologue end (size=0) */
 112:sensor.c      **** 	* (volatile unsigned char *)(0x02 + 0x20) &= ~(1 << 5);
 379               	.LM42:
 380 0088 1598      		cbi 34-0x20,5
 381               	/* epilogue: frame size=0 */
 382 008a 0895      		ret
 383               	/* epilogue end (size=1) */
 384               	/* function OSH_MAKE_INT1_INPUT size 2 (1) */
 387               	.global	OSH_MAKE_PHOTO_CTL_INPUT
 389               	OSH_MAKE_PHOTO_CTL_INPUT:
 113:sensor.c      **** }
 114:sensor.c      **** 
 115:sensor.c      **** void OSH_MAKE_PHOTO_CTL_INPUT(void)
 116:sensor.c      **** {
 391               	.LM43:
 392               	/* prologue: frame size=0 */
 393               	/* prologue end (size=0) */
 117:sensor.c      **** 	OSH_MAKE_INT1_INPUT();
 395               	.LM44:
 396 008c 0E94 0000 		call OSH_MAKE_INT1_INPUT
 397               	/* epilogue: frame size=0 */
 398 0090 0895      		ret
 399               	/* epilogue end (size=1) */
 400               	/* function OSH_MAKE_PHOTO_CTL_INPUT size 3 (2) */
 403               	.global	OSH_CLR_INT1_PIN
 405               	OSH_CLR_INT1_PIN:
 118:sensor.c      **** }
 119:sensor.c      **** 
 120:sensor.c      **** void OSH_CLR_INT1_PIN(void)
 121:sensor.c      **** {
 407               	.LM45:
 408               	/* prologue: frame size=0 */
 409               	/* prologue end (size=0) */
 122:sensor.c      **** 	* (volatile unsigned char *)(0x03 + 0x20) &= ~(1 << 5);
 411               	.LM46:
 412 0092 1D98      		cbi 35-0x20,5
 413               	/* epilogue: frame size=0 */
 414 0094 0895      		ret
 415               	/* epilogue end (size=1) */
 416               	/* function OSH_CLR_INT1_PIN size 2 (1) */
 419               	.global	OSH_CLR_PHOTO_CTL_PIN
 421               	OSH_CLR_PHOTO_CTL_PIN:
 123:sensor.c      **** }
 124:sensor.c      **** 
 125:sensor.c      **** void OSH_CLR_PHOTO_CTL_PIN(void)
 126:sensor.c      **** {
 423               	.LM47:
 424               	/* prologue: frame size=0 */
 425               	/* prologue end (size=0) */
 127:sensor.c      **** 	OSH_CLR_INT1_PIN();
 427               	.LM48:
 428 0096 0E94 0000 		call OSH_CLR_INT1_PIN
 429               	/* epilogue: frame size=0 */
 430 009a 0895      		ret
 431               	/* epilogue end (size=1) */
 432               	/* function OSH_CLR_PHOTO_CTL_PIN size 3 (2) */
 435               	.global	SensorExternalTempADCGetData
 437               	SensorExternalTempADCGetData:
 128:sensor.c      **** }
 129:sensor.c      **** 
 130:sensor.c      **** result_t SensorExternalTempADCGetData(void)
 131:sensor.c      **** {
 439               	.LM49:
 440               	/* prologue: frame size=0 */
 441 009c CF93      		push r28
 442               	/* prologue end (size=1) */
 443               	.LBB4:
 132:sensor.c      **** 	uint8_t oldState;
 133:sensor.c      **** 	
 134:sensor.c      **** 	{ uint8_t atomicState = AtomicStart();
 445               	.LM50:
 446 009e 0E94 0000 		call AtomicStart
 447 00a2 282F      		mov r18,r24
 135:sensor.c      ****     {
 136:sensor.c      **** 		oldState = PhotoTempM_state;
 449               	.LM51:
 450 00a4 C091 0000 		lds r28,PhotoTempM_state
 137:sensor.c      **** 		if (PhotoTempM_state == PhotoTempM_IDLE) {
 452               	.LM52:
 453 00a8 8091 0000 		lds r24,PhotoTempM_state
 454 00ac 9091 0000 		lds r25,(PhotoTempM_state)+1
 455 00b0 0197      		sbiw r24,1
 456 00b2 31F4      		brne .L21
 138:sensor.c      **** 			PhotoTempM_state = PhotoTempM_BUSY;
 458               	.LM53:
 459 00b4 82E0      		ldi r24,lo8(2)
 460 00b6 90E0      		ldi r25,hi8(2)
 461 00b8 9093 0000 		sts (PhotoTempM_state)+1,r25
 462 00bc 8093 0000 		sts PhotoTempM_state,r24
 463               	.L21:
 139:sensor.c      ****         }
 140:sensor.c      ****     }
 141:sensor.c      ****     AtomicEnd(atomicState); }
 465               	.LM54:
 466 00c0 822F      		mov r24,r18
 467 00c2 0E94 0000 		call AtomicEnd
 468               	.LBE4:
 142:sensor.c      **** 	if (oldState == PhotoTempM_IDLE) {
 470               	.LM55:
 471 00c6 C130      		cpi r28,lo8(1)
 472 00c8 61F4      		brne .L22
 143:sensor.c      **** 		OSH_CLR_PHOTO_CTL_PIN();
 474               	.LM56:
 475 00ca 0E94 0000 		call OSH_CLR_PHOTO_CTL_PIN
 144:sensor.c      **** 		OSH_MAKE_PHOTO_CTL_INPUT();
 477               	.LM57:
 478 00ce 0E94 0000 		call OSH_MAKE_PHOTO_CTL_INPUT
 145:sensor.c      **** 		OSH_SET_TEMP_CTL_PIN();
 480               	.LM58:
 481 00d2 0E94 0000 		call OSH_SET_TEMP_CTL_PIN
 146:sensor.c      **** 		OSH_MAKE_TEMP_CTL_OUTPUT();
 483               	.LM59:
 484 00d6 0E94 0000 		call OSH_MAKE_TEMP_CTL_OUTPUT
 147:sensor.c      **** 		return SensorInternalTempADCGetData();
 486               	.LM60:
 487 00da 0E94 0000 		call SensorInternalTempADCGetData
 488 00de 9927      		clr r25
 489 00e0 02C0      		rjmp .L20
 490               	.L22:
 148:sensor.c      ****     }
 149:sensor.c      **** 	return FAIL;
 492               	.LM61:
 493 00e2 80E0      		ldi r24,lo8(0)
 494 00e4 90E0      		ldi r25,hi8(0)
 495               	.L20:
 496               	/* epilogue: frame size=0 */
 497 00e6 CF91      		pop r28
 498 00e8 0895      		ret
 499               	/* epilogue end (size=2) */
 500               	/* function SensorExternalTempADCGetData size 40 (37) */
 508               	.global	PhotoTempM_ExternalTempADC_default_dataReady
 510               	PhotoTempM_ExternalTempADC_default_dataReady:
 150:sensor.c      **** }
 151:sensor.c      **** 
 152:sensor.c      **** result_t PhotoTempM_ExternalTempADC_default_dataReady(uint16_t data)
 153:sensor.c      **** {
 512               	.LM62:
 513               	/* prologue: frame size=0 */
 514               	/* prologue end (size=0) */
 154:sensor.c      **** 	return SUCCESS;
 155:sensor.c      **** }
 516               	.LM63:
 517 00ea 81E0      		ldi r24,lo8(1)
 518 00ec 90E0      		ldi r25,hi8(1)
 519               	/* epilogue: frame size=0 */
 520 00ee 0895      		ret
 521               	/* epilogue end (size=1) */
 522               	/* function PhotoTempM_ExternalTempADC_default_dataReady size 3 (2) */
 526               	.global	SensorExternalTempADCDataReady
 528               	SensorExternalTempADCDataReady:
 156:sensor.c      **** 
 157:sensor.c      **** result_t SensorExternalTempADCDataReady(uint16_t data)
 158:sensor.c      **** {
 530               	.LM64:
 531               	/* prologue: frame size=0 */
 532               	/* prologue end (size=0) */
 159:sensor.c      **** 	unsigned char result;
 160:sensor.c      **** 	result = LLCADCDataReady(data);//PhotoTempM_ExternalTempADC_default_dataReady(arg_0xa341908);
 534               	.LM65:
 535 00f0 0E94 0000 		call LLCADCDataReady
 161:sensor.c      **** 	
 162:sensor.c      **** 	return result;
 163:sensor.c      **** }
 537               	.LM66:
 538 00f4 9927      		clr r25
 539               	/* epilogue: frame size=0 */
 540 00f6 0895      		ret
 541               	/* epilogue end (size=1) */
 542               	/* function SensorExternalTempADCDataReady size 4 (3) */
 546               	.global	SensorInternalTempADCDataReady
 548               	SensorInternalTempADCDataReady:
 164:sensor.c      **** 
 165:sensor.c      **** result_t SensorInternalTempADCDataReady(uint16_t data)
 166:sensor.c      **** {
 550               	.LM67:
 551               	/* prologue: frame size=0 */
 552 00f8 1F93      		push r17
 553 00fa CF93      		push r28
 554 00fc DF93      		push r29
 555               	/* prologue end (size=3) */
 556 00fe EC01      		movw r28,r24
 557               	.LBB5:
 167:sensor.c      **** 	uint8_t oldState;
 168:sensor.c      **** 	
 169:sensor.c      **** 	{ uint8_t atomicState = AtomicStart();
 559               	.LM68:
 560 0100 0E94 0000 		call AtomicStart
 561 0104 282F      		mov r18,r24
 170:sensor.c      ****     {
 171:sensor.c      **** 		oldState = PhotoTempM_state;
 563               	.LM69:
 564 0106 1091 0000 		lds r17,PhotoTempM_state
 172:sensor.c      **** 		if (PhotoTempM_state == PhotoTempM_BUSY) {
 566               	.LM70:
 567 010a 8091 0000 		lds r24,PhotoTempM_state
 568 010e 9091 0000 		lds r25,(PhotoTempM_state)+1
 569 0112 0297      		sbiw r24,2
 570 0114 31F4      		brne .L26
 173:sensor.c      **** 			PhotoTempM_state = PhotoTempM_IDLE;
 572               	.LM71:
 573 0116 81E0      		ldi r24,lo8(1)
 574 0118 90E0      		ldi r25,hi8(1)
 575 011a 9093 0000 		sts (PhotoTempM_state)+1,r25
 576 011e 8093 0000 		sts PhotoTempM_state,r24
 577               	.L26:
 174:sensor.c      ****         }
 175:sensor.c      ****     }
 176:sensor.c      ****     AtomicEnd(atomicState); }
 579               	.LM72:
 580 0122 822F      		mov r24,r18
 581 0124 0E94 0000 		call AtomicEnd
 582               	.LBE5:
 177:sensor.c      **** 	if (oldState == PhotoTempM_BUSY) {
 584               	.LM73:
 585 0128 1230      		cpi r17,lo8(2)
 586 012a 21F4      		brne .L27
 178:sensor.c      **** 		
 179:sensor.c      **** 		
 180:sensor.c      **** 		return SensorExternalTempADCDataReady(data);
 588               	.LM74:
 589 012c CE01      		movw r24,r28
 590 012e 0E94 0000 		call SensorExternalTempADCDataReady
 591 0132 14C0      		rjmp .L31
 592               	.L27:
 181:sensor.c      ****     }
 182:sensor.c      **** 	else {
 183:sensor.c      **** 		if (oldState == PhotoTempM_CONTINUOUS) {
 594               	.LM75:
 595 0134 1330      		cpi r17,lo8(3)
 596 0136 A1F4      		brne .L28
 597               	.LBB6:
 184:sensor.c      **** 			int ret;
 185:sensor.c      **** 			
 186:sensor.c      **** 			ret = SensorExternalTempADCDataReady(data);
 599               	.LM76:
 600 0138 CE01      		movw r24,r28
 601 013a 0E94 0000 		call SensorExternalTempADCDataReady
 602 013e C82F      		mov r28,r24
 603 0140 DD27      		clr r29
 187:sensor.c      **** 			if (ret == FAIL) {
 605               	.LM77:
 606 0142 2097      		sbiw r28,0
 607 0144 51F4      		brne .L30
 608               	.LBB7:
 188:sensor.c      **** 				
 189:sensor.c      **** 				
 190:sensor.c      **** 				{ uint8_t atomicState = AtomicStart();
 610               	.LM78:
 611 0146 0E94 0000 		call AtomicStart
 191:sensor.c      **** 				{
 192:sensor.c      **** 					PhotoTempM_state = PhotoTempM_IDLE;
 613               	.LM79:
 614 014a 21E0      		ldi r18,lo8(1)
 615 014c 30E0      		ldi r19,hi8(1)
 616 014e 3093 0000 		sts (PhotoTempM_state)+1,r19
 617 0152 2093 0000 		sts PhotoTempM_state,r18
 193:sensor.c      **** 				}
 194:sensor.c      **** 				AtomicEnd(atomicState); }
 619               	.LM80:
 620 0156 0E94 0000 		call AtomicEnd
 621               	.L30:
 622               	.LBE7:
 195:sensor.c      **** 			}
 196:sensor.c      **** 			return ret;
 624               	.LM81:
 625 015a 8C2F      		mov r24,r28
 626               	.L31:
 627 015c 9927      		clr r25
 628 015e 02C0      		rjmp .L25
 629               	.L28:
 630               	.LBE6:
 197:sensor.c      **** 		}
 198:sensor.c      ****     }
 199:sensor.c      **** 	return FAIL;
 632               	.LM82:
 633 0160 80E0      		ldi r24,lo8(0)
 634 0162 90E0      		ldi r25,hi8(0)
 635               	.L25:
 636               	/* epilogue: frame size=0 */
 637 0164 DF91      		pop r29
 638 0166 CF91      		pop r28
 639 0168 1F91      		pop r17
 640 016a 0895      		ret
 641               	/* epilogue end (size=4) */
 642               	/* function SensorInternalTempADCDataReady size 59 (52) */
 653               	.global	SensorExternalPhotoADCDataReady
 655               	SensorExternalPhotoADCDataReady:
 200:sensor.c      **** }
 201:sensor.c      **** 
 202:sensor.c      **** result_t SensorExternalPhotoADCDataReady(uint16_t data)
 203:sensor.c      **** {
 657               	.LM83:
 658               	/* prologue: frame size=0 */
 659               	/* prologue end (size=0) */
 204:sensor.c      **** 	unsigned char result;
 205:sensor.c      **** 	result = LLCADCDataReady(data);
 661               	.LM84:
 662 016c 0E94 0000 		call LLCADCDataReady
 206:sensor.c      **** 	return result;
 207:sensor.c      **** }
 664               	.LM85:
 665 0170 9927      		clr r25
 666               	/* epilogue: frame size=0 */
 667 0172 0895      		ret
 668               	/* epilogue end (size=1) */
 669               	/* function SensorExternalPhotoADCDataReady size 4 (3) */
 672               	.global	SensorPhoOStdControlInit
 674               	SensorPhoOStdControlInit:
 208:sensor.c      **** 
 209:sensor.c      **** 
 210:sensor.c      **** result_t SensorPhoOStdControlInit(void)
 211:sensor.c      **** {
 676               	.LM86:
 677               	/* prologue: frame size=0 */
 678               	/* prologue end (size=0) */
 212:sensor.c      **** 	ADCBindPort(OS_ADC_PHOTO_PORT, OSH_ACTUAL_PHOTO_PORT);
 680               	.LM87:
 681 0174 61E0      		ldi r22,lo8(1)
 682 0176 862F      		mov r24,r22
 683 0178 0E94 0000 		call ADCBindPort
 684               	.LBB8:
 213:sensor.c      **** 	{ uint8_t atomicState = AtomicStart();

⌨️ 快捷键说明

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