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

📄 sensor.lst

📁 adhoc信息节点程序源代码(点对多点)——for atmega128
💻 LST
📖 第 1 页 / 共 3 页
字号:
 686               	.LM88:
 687 017c 0E94 0000 		call AtomicStart
 214:sensor.c      ****     {
 215:sensor.c      **** 		PhotoTempM_state = PhotoTempM_IDLE;
 689               	.LM89:
 690 0180 21E0      		ldi r18,lo8(1)
 691 0182 30E0      		ldi r19,hi8(1)
 692 0184 3093 0000 		sts (PhotoTempM_state)+1,r19
 693 0188 2093 0000 		sts PhotoTempM_state,r18
 216:sensor.c      ****     }
 217:sensor.c      ****     AtomicEnd(atomicState); }
 695               	.LM90:
 696 018c 0E94 0000 		call AtomicEnd
 697               	.LBE8:
 218:sensor.c      **** 	return ADCControlInit();
 699               	.LM91:
 700 0190 0E94 0000 		call ADCControlInit
 219:sensor.c      **** }
 702               	.LM92:
 703 0194 9927      		clr r25
 704               	/* epilogue: frame size=0 */
 705 0196 0895      		ret
 706               	/* epilogue end (size=1) */
 707               	/* function SensorPhoOStdControlInit size 18 (17) */
 710               	.global	SensorPhoOStdControlStart
 712               	SensorPhoOStdControlStart:
 220:sensor.c      **** 
 221:sensor.c      **** result_t SensorPhoOStdControlStart(void)
 222:sensor.c      **** {
 714               	.LM93:
 715               	/* prologue: frame size=0 */
 716 0198 1F93      		push r17
 717               	/* prologue end (size=1) */
 718               	.LBB9:
 223:sensor.c      **** 	{ uint8_t atomicState = AtomicStart();
 720               	.LM94:
 721 019a 0E94 0000 		call AtomicStart
 722 019e 182F      		mov r17,r24
 224:sensor.c      ****     {
 225:sensor.c      **** 		OSH_SET_PHOTO_CTL_PIN();
 724               	.LM95:
 725 01a0 0E94 0000 		call OSH_SET_PHOTO_CTL_PIN
 226:sensor.c      **** 		OSH_MAKE_PHOTO_CTL_OUTPUT();
 727               	.LM96:
 728 01a4 0E94 0000 		call OSH_MAKE_PHOTO_CTL_OUTPUT
 227:sensor.c      ****     }
 228:sensor.c      ****     AtomicEnd(atomicState); }
 730               	.LM97:
 731 01a8 812F      		mov r24,r17
 732 01aa 0E94 0000 		call AtomicEnd
 733               	.LBE9:
 229:sensor.c      **** 	return SUCCESS;
 230:sensor.c      **** }
 735               	.LM98:
 736 01ae 81E0      		ldi r24,lo8(1)
 737 01b0 90E0      		ldi r25,hi8(1)
 738               	/* epilogue: frame size=0 */
 739 01b2 1F91      		pop r17
 740 01b4 0895      		ret
 741               	/* epilogue end (size=2) */
 742               	/* function SensorPhoOStdControlStart size 15 (12) */
 748               	.global	SensorInternalPhotoADCGetData
 750               	SensorInternalPhotoADCGetData:
 231:sensor.c      **** 
 232:sensor.c      **** result_t SensorExternalPhotoADCGetData(void)
 233:sensor.c      **** {
 234:sensor.c      **** 	uint8_t oldState;
 235:sensor.c      **** 	
 236:sensor.c      **** 	{ uint8_t atomicState = AtomicStart();
 237:sensor.c      ****     {
 238:sensor.c      **** 		oldState = PhotoTempM_state;
 239:sensor.c      **** 		if (PhotoTempM_state == PhotoTempM_IDLE) {
 240:sensor.c      **** 			PhotoTempM_state = PhotoTempM_BUSY;
 241:sensor.c      ****         }
 242:sensor.c      ****     }
 243:sensor.c      ****     AtomicEnd(atomicState); }
 244:sensor.c      **** 	if (oldState == PhotoTempM_IDLE) {
 245:sensor.c      **** 		OSH_CLR_TEMP_CTL_PIN();
 246:sensor.c      **** 		OSH_MAKE_TEMP_CTL_INPUT();
 247:sensor.c      **** 		OSH_SET_PHOTO_CTL_PIN();
 248:sensor.c      **** 		OSH_MAKE_PHOTO_CTL_OUTPUT();
 249:sensor.c      **** 		return SensorInternalPhotoADCGetData();
 250:sensor.c      ****     }
 251:sensor.c      **** 	return FAIL;
 252:sensor.c      **** }
 253:sensor.c      **** 
 254:sensor.c      **** result_t SensorInternalPhotoADCDataReady(uint16_t data)
 255:sensor.c      **** {
 256:sensor.c      **** 	uint8_t oldState;
 257:sensor.c      **** 	
 258:sensor.c      **** 	{ uint8_t atomicState = AtomicStart();
 259:sensor.c      ****     {
 260:sensor.c      **** 		oldState = PhotoTempM_state;
 261:sensor.c      **** 		if (PhotoTempM_state == PhotoTempM_BUSY) {
 262:sensor.c      **** 			PhotoTempM_state = PhotoTempM_IDLE;
 263:sensor.c      ****         }
 264:sensor.c      ****     }
 265:sensor.c      ****     AtomicEnd(atomicState); }
 266:sensor.c      **** 	if (oldState == PhotoTempM_BUSY) {
 267:sensor.c      **** 		
 268:sensor.c      **** 		return SensorExternalPhotoADCDataReady(data);
 269:sensor.c      ****     }
 270:sensor.c      **** 	else {
 271:sensor.c      **** 		if (oldState == PhotoTempM_CONTINUOUS) {
 272:sensor.c      **** 			int ret;
 273:sensor.c      **** 			ret = SensorExternalPhotoADCDataReady(data);
 274:sensor.c      **** 			if (ret == FAIL) {
 275:sensor.c      **** 				{ uint8_t atomicState = AtomicStart();
 276:sensor.c      **** 				{
 277:sensor.c      **** 					PhotoTempM_state = PhotoTempM_IDLE;
 278:sensor.c      **** 				}
 279:sensor.c      **** 				AtomicEnd(atomicState); }
 280:sensor.c      **** 			}
 281:sensor.c      **** 			return ret;
 282:sensor.c      **** 		}
 283:sensor.c      ****     }
 284:sensor.c      **** 	return FAIL;
 285:sensor.c      **** }
 286:sensor.c      **** 
 287:sensor.c      **** result_t SensorInternalPhotoADCGetData(void)
 288:sensor.c      **** {
 752               	.LM99:
 753               	/* prologue: frame size=0 */
 754               	/* prologue end (size=0) */
 289:sensor.c      **** 	unsigned char result;
 290:sensor.c      **** 	result = ADCGetData(OS_ADC_PHOTO_PORT);
 756               	.LM100:
 757 01b6 81E0      		ldi r24,lo8(1)
 758 01b8 0E94 0000 		call ADCGetData
 291:sensor.c      **** 	
 292:sensor.c      **** 	return result;
 293:sensor.c      **** }
 760               	.LM101:
 761 01bc 9927      		clr r25
 762               	/* epilogue: frame size=0 */
 763 01be 0895      		ret
 764               	/* epilogue end (size=1) */
 765               	/* function SensorInternalPhotoADCGetData size 5 (4) */
 768               	.global	SensorExternalPhotoADCGetData
 770               	SensorExternalPhotoADCGetData:
 772               	.LM102:
 773               	/* prologue: frame size=0 */
 774 01c0 CF93      		push r28
 775               	/* prologue end (size=1) */
 776               	.LBB10:
 778               	.LM103:
 779 01c2 0E94 0000 		call AtomicStart
 780 01c6 282F      		mov r18,r24
 782               	.LM104:
 783 01c8 C091 0000 		lds r28,PhotoTempM_state
 785               	.LM105:
 786 01cc 8091 0000 		lds r24,PhotoTempM_state
 787 01d0 9091 0000 		lds r25,(PhotoTempM_state)+1
 788 01d4 0197      		sbiw r24,1
 789 01d6 31F4      		brne .L37
 791               	.LM106:
 792 01d8 82E0      		ldi r24,lo8(2)
 793 01da 90E0      		ldi r25,hi8(2)
 794 01dc 9093 0000 		sts (PhotoTempM_state)+1,r25
 795 01e0 8093 0000 		sts PhotoTempM_state,r24
 796               	.L37:
 798               	.LM107:
 799 01e4 822F      		mov r24,r18
 800 01e6 0E94 0000 		call AtomicEnd
 801               	.LBE10:
 803               	.LM108:
 804 01ea C130      		cpi r28,lo8(1)
 805 01ec 61F4      		brne .L38
 807               	.LM109:
 808 01ee 0E94 0000 		call OSH_CLR_TEMP_CTL_PIN
 810               	.LM110:
 811 01f2 0E94 0000 		call OSH_MAKE_TEMP_CTL_INPUT
 813               	.LM111:
 814 01f6 0E94 0000 		call OSH_SET_PHOTO_CTL_PIN
 816               	.LM112:
 817 01fa 0E94 0000 		call OSH_MAKE_PHOTO_CTL_OUTPUT
 819               	.LM113:
 820 01fe 0E94 0000 		call SensorInternalPhotoADCGetData
 821 0202 9927      		clr r25
 822 0204 02C0      		rjmp .L36
 823               	.L38:
 825               	.LM114:
 826 0206 80E0      		ldi r24,lo8(0)
 827 0208 90E0      		ldi r25,hi8(0)
 828               	.L36:
 829               	/* epilogue: frame size=0 */
 830 020a CF91      		pop r28
 831 020c 0895      		ret
 832               	/* epilogue end (size=2) */
 833               	/* function SensorExternalPhotoADCGetData size 40 (37) */
 841               	.global	SensorInternalPhotoADCDataReady
 843               	SensorInternalPhotoADCDataReady:
 845               	.LM115:
 846               	/* prologue: frame size=0 */
 847 020e 1F93      		push r17
 848 0210 CF93      		push r28
 849 0212 DF93      		push r29
 850               	/* prologue end (size=3) */
 851 0214 EC01      		movw r28,r24
 852               	.LBB11:
 854               	.LM116:
 855 0216 0E94 0000 		call AtomicStart
 856 021a 282F      		mov r18,r24
 858               	.LM117:
 859 021c 1091 0000 		lds r17,PhotoTempM_state
 861               	.LM118:
 862 0220 8091 0000 		lds r24,PhotoTempM_state
 863 0224 9091 0000 		lds r25,(PhotoTempM_state)+1
 864 0228 0297      		sbiw r24,2
 865 022a 31F4      		brne .L40
 867               	.LM119:
 868 022c 81E0      		ldi r24,lo8(1)
 869 022e 90E0      		ldi r25,hi8(1)
 870 0230 9093 0000 		sts (PhotoTempM_state)+1,r25
 871 0234 8093 0000 		sts PhotoTempM_state,r24
 872               	.L40:
 874               	.LM120:
 875 0238 822F      		mov r24,r18
 876 023a 0E94 0000 		call AtomicEnd
 877               	.LBE11:
 879               	.LM121:
 880 023e 1230      		cpi r17,lo8(2)
 881 0240 21F4      		brne .L41
 883               	.LM122:
 884 0242 CE01      		movw r24,r28
 885 0244 0E94 0000 		call SensorExternalPhotoADCDataReady
 886 0248 14C0      		rjmp .L45
 887               	.L41:
 889               	.LM123:
 890 024a 1330      		cpi r17,lo8(3)
 891 024c A1F4      		brne .L42
 892               	.LBB12:
 894               	.LM124:
 895 024e CE01      		movw r24,r28
 896 0250 0E94 0000 		call SensorExternalPhotoADCDataReady
 897 0254 C82F      		mov r28,r24
 898 0256 DD27      		clr r29
 900               	.LM125:
 901 0258 2097      		sbiw r28,0
 902 025a 51F4      		brne .L44
 903               	.LBB13:
 905               	.LM126:
 906 025c 0E94 0000 		call AtomicStart
 908               	.LM127:
 909 0260 21E0      		ldi r18,lo8(1)
 910 0262 30E0      		ldi r19,hi8(1)
 911 0264 3093 0000 		sts (PhotoTempM_state)+1,r19
 912 0268 2093 0000 		sts PhotoTempM_state,r18
 914               	.LM128:
 915 026c 0E94 0000 		call AtomicEnd
 916               	.L44:
 917               	.LBE13:
 919               	.LM129:
 920 0270 8C2F      		mov r24,r28
 921               	.L45:
 922 0272 9927      		clr r25
 923 0274 02C0      		rjmp .L39
 924               	.L42:
 925               	.LBE12:
 927               	.LM130:
 928 0276 80E0      		ldi r24,lo8(0)
 929 0278 90E0      		ldi r25,hi8(0)
 930               	.L39:
 931               	/* epilogue: frame size=0 */
 932 027a DF91      		pop r29
 933 027c CF91      		pop r28
 934 027e 1F91      		pop r17
 935 0280 0895      		ret
 936               	/* epilogue end (size=4) */
 937               	/* function SensorInternalPhotoADCDataReady size 59 (52) */
 946               		.comm PhotoTempM_state,2,1
 948               		.text
 950               	Letext:
 951               	/* File "sensor.c": code  325 = 0x0145 ( 276), prologues  10, epilogues  39 */
DEFINED SYMBOLS
                            *ABS*:00000000 sensor.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:85     .text:00000000 SensorTempStdControlInit
                            *COM*:00000002 PhotoTempM_state
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:123    .text:00000024 OSH_MAKE_INT1_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:139    .text:00000028 OSH_MAKE_PHOTO_CTL_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:155    .text:0000002e OSH_SET_INT1_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:171    .text:00000032 OSH_SET_PHOTO_CTL_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:187    .text:00000038 OSH_MAKE_INT2_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:203    .text:0000003c OSH_MAKE_TEMP_CTL_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:219    .text:00000042 OSH_SET_INT2_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:235    .text:00000046 OSH_SET_TEMP_CTL_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:251    .text:0000004c SensorTempStdControlStart
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:289    .text:0000006a SensorInternalTempADCGetData
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:309    .text:00000074 OSH_MAKE_INT2_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:325    .text:00000078 OSH_MAKE_TEMP_CTL_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:341    .text:0000007e OSH_CLR_INT2_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:357    .text:00000082 OSH_CLR_TEMP_CTL_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:373    .text:00000088 OSH_MAKE_INT1_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:389    .text:0000008c OSH_MAKE_PHOTO_CTL_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:405    .text:00000092 OSH_CLR_INT1_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:421    .text:00000096 OSH_CLR_PHOTO_CTL_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:437    .text:0000009c SensorExternalTempADCGetData
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:510    .text:000000ea PhotoTempM_ExternalTempADC_default_dataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:528    .text:000000f0 SensorExternalTempADCDataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:548    .text:000000f8 SensorInternalTempADCDataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:655    .text:0000016c SensorExternalPhotoADCDataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:674    .text:00000174 SensorPhoOStdControlInit
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:712    .text:00000198 SensorPhoOStdControlStart
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:750    .text:000001b6 SensorInternalPhotoADCGetData
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:770    .text:000001c0 SensorExternalPhotoADCGetData
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:843    .text:0000020e SensorInternalPhotoADCDataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:950    .text:00000282 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
ADCBindPort
AtomicStart
AtomicEnd
ADCControlInit
ADCGetData
LLCADCDataReady

⌨️ 快捷键说明

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