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

📄 app.lst

📁 一个WSN的树状路由,对于那些学WSN路由方面的朋友应该有说帮助.
💻 LST
📖 第 1 页 / 共 3 页
字号:
 261:app.c         **** 					j = j+1;
 262:app.c         **** 				} else {
 263:app.c         **** 					break;
 264:app.c         **** 				}
 265:app.c         **** 			}
 266:app.c         **** 			if( j < MAXPASS ){ //越界检查
 267:app.c         **** 			forwardsensor.passnode[j] = OS_LOCAL_ADDRESS;
 268:app.c         **** 			}
 269:app.c         **** 			InRecord(receivemsg->fromAddr,sHopMsg->seq);//登记
 270:app.c         **** 			OSPostTask(sendreceivesensor);	
 271:app.c         **** 		}
 272:app.c         **** 	} else {
 273:app.c         **** 		//如果是SINK节点,则写到后台
 274:app.c         **** 		LedRedToggle(); //红灯亮,表示基站接收到传感数据包
 275:app.c         **** 		uartDebug_txPacket(&uartMsg);
 276:app.c         **** 	}
 277:app.c         **** }
 278:app.c         **** 
 279:app.c         **** 
 280:app.c         **** static void sendreceivesensor(void) {
 281:app.c         ****     SHopMsgPtr sHopMsg;
 282:app.c         ****   	SensorMsg *sensordata;
 283:app.c         ****     uint8_t length;
 284:app.c         **** 
 285:app.c         ****     sHopMsg = (SHopMsgPtr )routesensormsgptr->data;
 286:app.c         **** 	sHopMsg->type = SENSOR;
 287:app.c         **** 	sHopMsg->seq = networkseq;
 288:app.c         **** 	sHopMsg->lifetime = LifeTime;
 289:app.c         ****     sensordata = (SensorMsg *) (sHopMsg->data);
 290:app.c         **** 	*sensordata = forwardsensor;
 291:app.c         **** 
 292:app.c         **** 	length = SHOP_HEADER_LEN + sizeof(SensorMsg);
 293:app.c         **** 	InQueue(SENSOR,  length, routesensormsgptr);
 294:app.c         **** }
 295:app.c         **** 
 296:app.c         **** static bool CheckPassed(uint8_t src,uint16_t networkseq){
 605               	.LM80:
 606 025a FB01      		movw r30,r22
 607 025c 4181      		ldd r20,Z+1
 608 025e 5281      		ldd r21,Z+2
 609               	.LBB11:
 297:app.c         ****     uint8_t i;
 298:app.c         **** 	for(i = 0 ; i < PASSED ; i++){
 611               	.LM81:
 612 0260 90E0      		ldi r25,lo8(0)
 613 0262 2091 0000 		lds r18,RecordPassed+4
 614 0266 3091 0000 		lds r19,(RecordPassed+4)+1
 615 026a E0E0      		ldi r30,lo8(RecordPassed)
 616 026c F0E0      		ldi r31,hi8(RecordPassed)
 617               	.L54:
 299:app.c         **** 	if((RecordPassed[i].src == src)&&(RecordPassed[1].networkseq == networkseq)) return 1;
 619               	.LM82:
 620 026e 8081      		ld r24,Z
 621 0270 3396      		adiw r30,3
 622 0272 8117      		cp r24,r17
 623 0274 21F4      		brne .L51
 624 0276 2417      		cp r18,r20
 625 0278 3507      		cpc r19,r21
 626 027a 09F4      		brne .+2
 627 027c 62C0      		rjmp .L41
 628               	.L51:
 630               	.LM83:
 631 027e 9F5F      		subi r25,lo8(-(1))
 632 0280 9A30      		cpi r25,lo8(10)
 633 0282 A8F3      		brlo .L54
 634               	.LBE11:
 635               	.LBE10:
 637               	.LM84:
 638 0284 FB01      		movw r30,r22
 639 0286 9381      		ldd r25,Z+3
 640 0288 892F      		mov r24,r25
 641 028a 807F      		andi r24,lo8(-16)
 642 028c 11F0      		breq .L78
 644               	.LM85:
 645 028e 9F70      		andi r25,lo8(15)
 646 0290 9150      		subi r25,lo8(-(-1))
 647               	.L78:
 648 0292 9093 0000 		sts LifeTime,r25
 650               	.LM86:
 651 0296 8D91      		ld r24,X+
 652 0298 9C91      		ld r25,X
 653 029a 1197      		sbiw r26,1
 654 029c 9093 0000 		sts (forwardsensor)+1,r25
 655 02a0 8093 0000 		sts forwardsensor,r24
 657               	.LM87:
 658 02a4 FD01      		movw r30,r26
 659 02a6 8281      		ldd r24,Z+2
 660 02a8 9381      		ldd r25,Z+3
 661 02aa 9093 0000 		sts (forwardsensor+2)+1,r25
 662 02ae 8093 0000 		sts forwardsensor+2,r24
 664               	.LM88:
 665 02b2 8481      		ldd r24,Z+4
 666 02b4 8093 0000 		sts forwardsensor+4,r24
 668               	.LM89:
 669 02b8 8581      		ldd r24,Z+5
 670 02ba 8093 0000 		sts forwardsensor+5,r24
 671 02be 20E0      		ldi r18,lo8(forwardsensor+6)
 672 02c0 30E0      		ldi r19,hi8(forwardsensor+6)
 673 02c2 AD01      		movw r20,r26
 674 02c4 4A5F      		subi r20,lo8(-(6))
 675 02c6 5F4F      		sbci r21,hi8(-(6))
 676 02c8 9DE0      		ldi r25,lo8(13)
 677               	.L60:
 679               	.LM90:
 680 02ca FA01      		movw r30,r20
 681 02cc 8191      		ld r24,Z+
 682 02ce AF01      		movw r20,r30
 683 02d0 F901      		movw r30,r18
 684 02d2 8193      		st Z+,r24
 685 02d4 9F01      		movw r18,r30
 687               	.LM91:
 688 02d6 9150      		subi r25,lo8(-(-1))
 689 02d8 97FF      		sbrs r25,7
 690 02da F7CF      		rjmp .L60
 692               	.LM92:
 693 02dc E0E0      		ldi r30,lo8(0)
 695               	.LM93:
 696 02de 9E2F      		mov r25,r30
 697 02e0 1696      		adiw r26,6
 698               	.L66:
 700               	.LM94:
 701 02e2 8D91      		ld r24,X+
 702 02e4 8823      		tst r24
 703 02e6 21F0      		breq .L62
 705               	.LM95:
 706 02e8 EF5F      		subi r30,lo8(-(1))
 708               	.LM96:
 709 02ea 9F5F      		subi r25,lo8(-(1))
 710 02ec 9E30      		cpi r25,lo8(14)
 711 02ee C8F3      		brlo .L66
 712               	.L62:
 714               	.LM97:
 715 02f0 EE30      		cpi r30,lo8(14)
 716 02f2 20F4      		brsh .L67
 718               	.LM98:
 719 02f4 FF27      		clr r31
 720 02f6 E050      		subi r30,lo8(-(forwardsensor))
 721 02f8 F040      		sbci r31,hi8(-(forwardsensor))
 722 02fa 0683      		std Z+6,r16
 723               	.L67:
 724               	.LBB12:
 300:app.c         **** 	}
 301:app.c         **** 	return 0;
 302:app.c         **** }
 303:app.c         **** 
 304:app.c         **** static void InRecord(uint8_t src,uint16_t networkseq){
 726               	.LM99:
 727 02fc 4B81      		ldd r20,Y+3
 728 02fe FB01      		movw r30,r22
 729 0300 2181      		ldd r18,Z+1
 730 0302 3281      		ldd r19,Z+2
 731               	.LBB13:
 305:app.c         ****    RecordPassed[recordflag].src = src;
 733               	.LM100:
 734 0304 8091 0000 		lds r24,recordflag
 735 0308 9927      		clr r25
 736 030a FC01      		movw r30,r24
 737 030c EE0F      		lsl r30
 738 030e FF1F      		rol r31
 739 0310 E80F      		add r30,r24
 740 0312 F91F      		adc r31,r25
 741 0314 E050      		subi r30,lo8(-(RecordPassed))
 742 0316 F040      		sbci r31,hi8(-(RecordPassed))
 743 0318 4083      		st Z,r20
 306:app.c         ****    RecordPassed[recordflag].networkseq = networkseq;
 745               	.LM101:
 746 031a 2183      		std Z+1,r18
 747 031c 3283      		std Z+2,r19
 307:app.c         ****    recordflag = (recordflag + 1)%PASSED;
 749               	.LM102:
 750 031e 0196      		adiw r24,1
 751 0320 6AE0      		ldi r22,lo8(10)
 752 0322 70E0      		ldi r23,hi8(10)
 753 0324 0E94 0000 		call __divmodhi4
 754 0328 8093 0000 		sts recordflag,r24
 755               	.LBE13:
 756               	.LBE12:
 758               	.LM103:
 759 032c 80E0      		ldi r24,lo8(pm(sendreceivesensor))
 760 032e 90E0      		ldi r25,hi8(pm(sendreceivesensor))
 761 0330 0E94 0000 		call OSPostTask
 762 0334 06C0      		rjmp .L41
 763               	.L47:
 765               	.LM104:
 766 0336 0E94 0000 		call LedRedToggle
 768               	.LM105:
 769 033a 80E0      		ldi r24,lo8(uartMsg)
 770 033c 90E0      		ldi r25,hi8(uartMsg)
 771 033e 0E94 0000 		call uartDebug_txPacket
 772               	.L41:
 773               	.LBE9:
 774               	.LBE8:
 775               	.LBE7:
 776               	.LBE6:
 778               	.LM106:
 779 0342 81E0      		ldi r24,lo8(1)
 780 0344 90E0      		ldi r25,hi8(1)
 781               	/* epilogue: frame size=0 */
 782 0346 DF91      		pop r29
 783 0348 CF91      		pop r28
 784 034a 1F91      		pop r17
 785 034c 0F91      		pop r16
 786 034e 0895      		ret
 787               	/* epilogue end (size=5) */
 788               	/* function ReceiveDone size 169 (160) */
 809               	sendreceivesensor:
 811               	.LM107:
 812               	/* prologue: frame size=0 */
 813 0350 CF93      		push r28
 814 0352 DF93      		push r29
 815               	/* prologue end (size=2) */
 817               	.LM108:
 818 0354 E091 0000 		lds r30,routesensormsgptr
 819 0358 F091 0000 		lds r31,(routesensormsgptr)+1
 820 035c DF01      		movw r26,r30
 821 035e 1596      		adiw r26,5
 823               	.LM109:
 824 0360 23E0      		ldi r18,lo8(3)
 825 0362 2583      		std Z+5,r18
 827               	.LM110:
 828 0364 8091 0000 		lds r24,networkseq
 829 0368 9091 0000 		lds r25,(networkseq)+1
 830 036c ED01      		movw r28,r26
 831 036e 8983      		std Y+1,r24
 832 0370 9A83      		std Y+2,r25
 834               	.LM111:
 835 0372 8091 0000 		lds r24,LifeTime
 836 0376 8B83      		std Y+3,r24
 838               	.LM112:
 839 0378 84E1      		ldi r24,lo8(20)
 840 037a 3996      		adiw r30,9
 841 037c A0E0      		ldi r26,lo8(forwardsensor)
 842 037e B0E0      		ldi r27,hi8(forwardsensor)
 843 0380 0D90      		ld __tmp_reg__,X+
 844 0382 0192      		st Z+,__tmp_reg__
 845 0384 8A95      		dec r24
 846 0386 E1F7      		brne .-8
 848               	.LM113:
 849 0388 4091 0000 		lds r20,routesensormsgptr
 850 038c 5091 0000 		lds r21,(routesensormsgptr)+1
 851 0390 68E1      		ldi r22,lo8(24)
 852 0392 822F      		mov r24,r18
 853 0394 0E94 0000 		call InQueue
 854               	/* epilogue: frame size=0 */
 855 0398 DF91      		pop r29
 856 039a CF91      		pop r28
 857 039c 0895      		ret
 858               	/* epilogue end (size=3) */
 859               	/* function sendreceivesensor size 39 (34) */
 862               		.comm POWERLEVEL,1,1
 863               		.comm OS_LOCAL_ADDRESS,1,1
 864               		.comm OS_BCAST_ADDR,1,1
 865               		.comm ACK_ON,1,1
 866               		.comm ACKTIME,1,1
 867               		.comm RecordPassed,30,1
 868               		.comm nbrTable,270,1
 869               		.comm Queuemsgqueue,372,1
 870               		.comm QueueBroadcast,62,1
 871               		.comm QueueLocalMsg,62,1
 872               		.comm sensordatabuff,20,1
 873               		.comm sensordataflag,1,1
 874               		.comm routesensor,60,1
 875               		.comm routesensormsgptr,2,1
 876               		.comm sensorseq,2,1
 877               		.comm networkseq,2,1
 878               		.comm recordflag,1,1
 879               		.comm LifeTime,1,1
 880               		.comm forwardsensor,20,1
 881               		.comm uartMsg,60,1
 902               		.text
 904               	Letext:
 905               	/* File "app.c": code  465 = 0x01d1 ( 440), prologues   8, epilogues  17 */
DEFINED SYMBOLS
                            *ABS*:00000000 app.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:97     .text:00000000 Init
                            *COM*:00000001 POWERLEVEL
                            *COM*:00000001 OS_LOCAL_ADDRESS
                            *COM*:00000001 OS_BCAST_ADDR
                            *COM*:00000001 ACK_ON
                            *COM*:00000001 ACKTIME
                            *COM*:00000001 sensordataflag
                            *COM*:00000014 sensordatabuff
                            *COM*:00000001 recordflag
                            *COM*:00000002 sensorseq
                            *COM*:00000002 networkseq
                            *COM*:0000003c routesensor
                            *COM*:00000002 routesensormsgptr
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:203    .text:0000008c Start
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:245    .text:000000b6 Timer0_0_Fired
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:267    .text:000000c4 Timer0_1_Fired
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:288    .text:000000ce SensordataReady
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:331    .text:00000100 LocalDataIn
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:500    .text:000001e0 routeSendSENSORDone
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:531    .text:00000202 ReceiveDone
                            *COM*:0000003c uartMsg
                            *COM*:0000001e RecordPassed
                            *COM*:00000001 LifeTime
                            *COM*:00000014 forwardsensor
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:809    .text:00000350 sendreceivesensor
                            *COM*:0000010e nbrTable
                            *COM*:00000174 Queuemsgqueue
                            *COM*:0000003e QueueBroadcast
                            *COM*:0000003e QueueLocalMsg
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccwfaaaa.s:904    .text:0000039e Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
LedInit
LedRedOff
LedGreenOff
LedYellowOff
SensorPhoOStdControlInit
TimerStdControlInit
uartDebug_init
MACInit
RoutInit
SensorPhoOStdControlStart
TimerTimerStart
routeTimerTask
OSPostTask
SensorExternalPhotoADCGetData
__divmodhi4
InLocalMsgQueue
RouteChangeV
routeReceiveBroadcast
LedRedToggle
uartDebug_txPacket
InQueue

⌨️ 快捷键说明

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