📄 app.lst
字号:
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 + -