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

📄 fun.lst

📁 adhoc汇聚节点程序源代码(点对多点)——for atmega128
💻 LST
📖 第 1 页 / 共 5 页
字号:
 228:fun.c         **** 	}
 229:fun.c         **** 	
 230:fun.c         **** 	void OSH_MAKE_SPI_SCK_INPUT(void)
 231:fun.c         **** 	{
 881               	.LM68:
 882               	/* prologue: frame size=0 */
 883               	/* prologue end (size=0) */
 232:fun.c         **** 		* (volatile unsigned char *)(0x17 + 0x20) &= ~(1 << 1);
 885               	.LM69:
 886 00d6 B998      		cbi 55-0x20,1
 887               	/* epilogue: frame size=0 */
 888 00d8 0895      		ret
 889               	/* epilogue end (size=1) */
 890               	/* function OSH_MAKE_SPI_SCK_INPUT size 2 (1) */
 893               	.global	OSH_CLR_CC_PALE_PIN
 895               	OSH_CLR_CC_PALE_PIN:
 233:fun.c         **** 	}
 234:fun.c         **** 	
 235:fun.c         **** 	void OSH_CLR_CC_PALE_PIN(void)
 236:fun.c         **** 	{
 897               	.LM70:
 898               	/* prologue: frame size=0 */
 899               	/* prologue end (size=0) */
 237:fun.c         **** 		* (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 4);
 901               	.LM71:
 902 00da 9498      		cbi 50-0x20,4
 903               	/* epilogue: frame size=0 */
 904 00dc 0895      		ret
 905               	/* epilogue end (size=1) */
 906               	/* function OSH_CLR_CC_PALE_PIN size 2 (1) */
 909               	.global	OSH_CLR_CC_PDATA_PIN
 911               	OSH_CLR_CC_PDATA_PIN:
 238:fun.c         **** 	}
 239:fun.c         **** 	
 240:fun.c         **** 	void OSH_CLR_CC_PDATA_PIN(void)
 241:fun.c         **** 	{
 913               	.LM72:
 914               	/* prologue: frame size=0 */
 915               	/* prologue end (size=0) */
 242:fun.c         **** 		* (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 7);
 917               	.LM73:
 918 00de 9798      		cbi 50-0x20,7
 919               	/* epilogue: frame size=0 */
 920 00e0 0895      		ret
 921               	/* epilogue end (size=1) */
 922               	/* function OSH_CLR_CC_PDATA_PIN size 2 (1) */
 925               	.global	OSH_CLR_CC_PCLK_PIN
 927               	OSH_CLR_CC_PCLK_PIN:
 243:fun.c         **** 	}
 244:fun.c         **** 	
 245:fun.c         **** 	void OSH_CLR_CC_PCLK_PIN(void)
 246:fun.c         **** 	{
 929               	.LM74:
 930               	/* prologue: frame size=0 */
 931               	/* prologue end (size=0) */
 247:fun.c         **** 		* (volatile unsigned char *)(0x12 + 0x20) &= ~(1 << 6);
 933               	.LM75:
 934 00e2 9698      		cbi 50-0x20,6
 935               	/* epilogue: frame size=0 */
 936 00e4 0895      		ret
 937               	/* epilogue end (size=1) */
 938               	/* function OSH_CLR_CC_PCLK_PIN size 2 (1) */
 941               	.global	OSH_MAKE_CC_PDATA_INPUT
 943               	OSH_MAKE_CC_PDATA_INPUT:
 248:fun.c         **** 	}
 249:fun.c         **** 	
 250:fun.c         **** 	void OSH_MAKE_CC_PDATA_INPUT(void)
 251:fun.c         **** 	{
 945               	.LM76:
 946               	/* prologue: frame size=0 */
 947               	/* prologue end (size=0) */
 252:fun.c         **** 		* (volatile unsigned char *)(0x11 + 0x20) &= ~(1 << 7);
 949               	.LM77:
 950 00e6 8F98      		cbi 49-0x20,7
 951               	/* epilogue: frame size=0 */
 952 00e8 0895      		ret
 953               	/* epilogue end (size=1) */
 954               	/* function OSH_MAKE_CC_PDATA_INPUT size 2 (1) */
 957               	.global	OSH_READ_CC_PDATA_PIN
 959               	OSH_READ_CC_PDATA_PIN:
 253:fun.c         **** 	}
 254:fun.c         **** 	
 255:fun.c         **** 	int OSH_READ_CC_PDATA_PIN(void)
 256:fun.c         **** 	{
 961               	.LM78:
 962               	/* prologue: frame size=0 */
 963               	/* prologue end (size=0) */
 257:fun.c         **** 		return (* (volatile unsigned char *)(0x10 + 0x20) & (1 << 7)) != 0;
 965               	.LM79:
 966 00ea 80E0      		ldi r24,lo8(0)
 967 00ec 90E0      		ldi r25,hi8(0)
 968 00ee 879B      		sbis 48-0x20,7
 969 00f0 02C0      		rjmp .L38
 971               	.LM80:
 972 00f2 81E0      		ldi r24,lo8(1)
 973 00f4 90E0      		ldi r25,hi8(1)
 974               	.L38:
 258:fun.c         **** 	}
 976               	.LM81:
 977 00f6 0895      		ret
 978               	/* epilogue: frame size=0 */
 979 00f8 0895      		ret
 980               	/* epilogue end (size=1) */
 981               	/* function OSH_READ_CC_PDATA_PIN size 8 (7) */
 984               	.global	GetPowerLevel
 986               	GetPowerLevel:
 259:fun.c         **** 	
 260:fun.c         **** 	uint8_t GetPowerLevel(void)
 261:fun.c         **** 	{
 988               	.LM82:
 989               	/* prologue: frame size=0 */
 990               	/* prologue end (size=0) */
 262:fun.c         **** 		uint8_t diff;
 263:fun.c         **** 		
 264:fun.c         **** 		if (* (volatile unsigned char *)(0x37 + 0x20) & ~((1 << 1) | (1 << 0))) {
 992               	.LM83:
 993 00fa 87B7      		in r24,87-0x20
 994 00fc 9927      		clr r25
 995 00fe 8C7F      		andi r24,lo8(-4)
 996 0100 0097      		sbiw r24,0
 997 0102 19F0      		breq .L40
 265:fun.c         **** 			
 266:fun.c         **** 			return HPLPowerManagementM_IDLE;
 999               	.LM84:
 1000 0104 80E0      		ldi r24,lo8(0)
 1001 0106 90E0      		ldi r25,hi8(0)
 1002 0108 0895      		ret
 1003               	.L40:
 267:fun.c         **** 		}
 268:fun.c         **** 		else {
 269:fun.c         **** 			if (* (volatile unsigned char *)(0x0D + 0x20) & (1 << 7)) {
 1005               	.LM85:
 1006 010a 6F99      		sbic 45-0x20,7
 1007 010c 18C0      		rjmp .L39
 270:fun.c         **** 				return HPLPowerManagementM_IDLE;
 271:fun.c         **** 			}
 272:fun.c         **** 			else {
 273:fun.c         **** 				if (* (volatile unsigned char *)(0x06 + 0x20) & (1 << 7)) {
 1009               	.LM86:
 1010 010e 379B      		sbis 38-0x20,7
 1011 0110 03C0      		rjmp .L44
 274:fun.c         **** 					return HPLPowerManagementM_ADC_NR;
 1013               	.LM87:
 1014 0112 88E0      		ldi r24,lo8(8)
 1015 0114 90E0      		ldi r25,hi8(8)
 1016 0116 0895      		ret
 1017               	.L44:
 275:fun.c         **** 				}
 276:fun.c         **** 				else {
 277:fun.c         **** 					if (* (volatile unsigned char *)(0x37 + 0x20) & ((1 << 1) | (1 << 0))) {
 1019               	.LM88:
 1020 0118 87B7      		in r24,87-0x20
 1021 011a 9927      		clr r25
 1022 011c 8370      		andi r24,lo8(3)
 1023 011e 9070      		andi r25,hi8(3)
 1024 0120 892B      		or r24,r25
 1025 0122 59F0      		breq .L46
 278:fun.c         **** 						diff = * (volatile unsigned char *)(0x31 + 0x20) - * (volatile unsigned char *)(0x32 + 0x20);
 1027               	.LM89:
 1028 0124 81B7      		in r24,81-0x20
 1029 0126 92B7      		in r25,82-0x20
 1030 0128 891B      		sub r24,r25
 279:fun.c         **** 						if (diff < 16) {
 1032               	.LM90:
 1033 012a 8031      		cpi r24,lo8(16)
 1034 012c 18F4      		brsh .L47
 280:fun.c         **** 							return HPLPowerManagementM_EXT_STANDBY;
 1036               	.LM91:
 1037 012e 8CE1      		ldi r24,lo8(28)
 1038 0130 90E0      		ldi r25,hi8(28)
 1039 0132 0895      		ret
 1040               	.L47:
 281:fun.c         **** 						}
 282:fun.c         **** 						return HPLPowerManagementM_POWER_SAVE;
 1042               	.LM92:
 1043 0134 88E1      		ldi r24,lo8(24)
 1044 0136 90E0      		ldi r25,hi8(24)
 1045 0138 0895      		ret
 1046               	.L46:
 283:fun.c         **** 					}
 284:fun.c         **** 					else 
 285:fun.c         **** 					{
 286:fun.c         **** 						return HPLPowerManagementM_POWER_DOWN;
 1048               	.LM93:
 1049 013a 80E1      		ldi r24,lo8(16)
 1050 013c 90E0      		ldi r25,hi8(16)
 1051               	.L39:
 287:fun.c         **** 					}
 288:fun.c         **** 				}
 289:fun.c         **** 			}
 290:fun.c         **** 		}
 291:fun.c         **** 	}
 1053               	.LM94:
 1054 013e 0895      		ret
 1055               	/* epilogue: frame size=0 */
 1056 0140 0895      		ret
 1057               	/* epilogue end (size=1) */
 1058               	/* function GetPowerLevel size 37 (36) */
 1061               	.global	PowerAdjustment
 1063               	PowerAdjustment:
 292:fun.c         **** 	
 293:fun.c         **** 	void PowerAdjustment(void)
 294:fun.c         **** 	{
 1065               	.LM95:
 1066               	/* prologue: frame size=0 */
 1067               	/* prologue end (size=0) */
 295:fun.c         **** 		uint8_t foo;
 296:fun.c         **** 		uint8_t mcu;
 297:fun.c         **** 		
 298:fun.c         **** 		foo = GetPowerLevel();
 1069               	.LM96:
 1070 0142 0E94 0000 		call GetPowerLevel
 1071 0146 382F      		mov r19,r24
 299:fun.c         **** 		mcu = * (volatile unsigned char *)(0x35 + 0x20);
 1073               	.LM97:
 1074 0148 25B7      		in r18,85-0x20
 300:fun.c         **** 		mcu &= 0xe3;
 1076               	.LM98:
 1077 014a 237E      		andi r18,lo8(-29)
 301:fun.c         **** 		if (foo == HPLPowerManagementM_EXT_STANDBY || foo == HPLPowerManagementM_POWER_SAVE) {
 1079               	.LM99:
 1080 014c 8C31      		cpi r24,lo8(28)
 1081 014e 11F0      		breq .L51
 1083               	.LM100:
 1084 0150 8831      		cpi r24,lo8(24)
 1085 0152 49F4      		brne .L50
 1086               	.L51:
 302:fun.c         **** 			mcu |= HPLPowerManagementM_IDLE;
 303:fun.c         **** 			while ((* (volatile unsigned char *)(0x30 + 0x20) & 0x7) != 0) {
 304:fun.c         **** 				asm volatile ("nop");}
 1088               	.LM101:
 1089 0154 80B7      		in r24,80-0x20
 1090 0156 9927      		clr r25
 1091 0158 8770      		andi r24,lo8(7)
 1092 015a 9070      		andi r25,hi8(7)
 1093 015c 892B      		or r24,r25
 1094 015e 11F0      		breq .L56
 1095               	/* #APP */
 1096 0160 0000      		nop
 1097               	/* #NOAPP */
 1098 0162 F8CF      		rjmp .L51
 1099               	.L56:
 305:fun.c         **** 			
 306:fun.c         **** 			mcu &= 0xe3;
 1101               	.LM102:
 1102 0164 237E      		andi r18,lo8(-29)
 1103               	.L50:
 307:fun.c         **** 		}
 308:fun.c         **** 		mcu |= foo;
 1105               	.LM103:
 1106 0166 232B      		or r18,r19
 309:fun.c         **** 		* (volatile unsigned char *)(0x35 + 0x20) = mcu;
 1108               	.LM104:
 1109 0168 25BF      		out 85-0x20,r18
 310:fun.c         **** 		* (volatile unsigned char *)(0x35 + 0x20) |= 1 << 5;
 1111               	.LM105:
 1112 016a 85B7      		in r24,85-0x20
 1113 016c 8062      		ori r24,lo8(32)
 1114 016e 85BF      		out 85-0x20,r24
 1115               	/* epilogue: frame size=0 */
 1116 0170 0895      		ret
 1117               	/* epilogue end (size=1) */
 1118               	/* function PowerAdjustment size 25 (24) */
 1123               	.global	PowerManagementAdjust
 1125               	PowerManagementAdjust:
 311:fun.c         **** 	}
 312:fun.c         **** 	
 313:fun.c         **** 	uint8_t PowerManagementAdjust(void)
 314:fun.c         **** 	{
 1127               	.LM106:
 1128               	/* prologue: frame size=0 */
 1129               	/* prologue end (size=0) */
 315:fun.c         **** 		uint8_t mcu;
 316:fun.c         **** 		
 317:fun.c         **** 		if (!HPLPowerManagementM_disabled) {
 1131               	.LM107:
 1132 0172 8091 0000 		lds r24,HPLPowerManagementM_disabled
 1133 0176 8823      		tst r24
 1134 0178 29F4      		brne .L58
 318:fun.c         **** 			OSPostTask(PowerAdjustment);
 1136               	.LM108:
 1137 017a 80E0      		ldi r24,lo8(pm(PowerAdjustment))
 1138 017c 90E0      		ldi r25,hi8(pm(PowerAdjustment))
 1139 017e 0E94 0000 		call OSPostTask
 1140 0182 06C0      		rjmp .L59
 1141               	.L58:
 319:fun.c         **** 		}
 320:fun.c         **** 		else 
 321:fun.c         **** 		{
 322:fun.c         **** 			mcu = * (volatile unsigned char *)(0x35 + 0x20);
 1143               	.LM109:
 1144 0184 85B7      		in r24,85-0x20
 323:fun.c         **** 			mcu &= 0xe3;
 1146               	.LM110:
 1147 0186 837E      		andi r24,lo8(-29)
 324:fun.c         **** 			mcu |= HPLPowerManagementM_IDLE;

⌨️ 快捷键说明

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