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

📄 main.lst

📁 无线传感器星型网络的节点的基站程序,采用802.15.4协议
💻 LST
📖 第 1 页 / 共 3 页
字号:
 405 00ae F894      		cli
 406 00b0 9EBF      		out __SP_H__,r25
 407 00b2 0FBE      		out __SREG__,__tmp_reg__
 408 00b4 8DBF      		out __SP_L__,r24
 409               	.L13:
 175:main.c        ****   	//wdt_reset();
 176:main.c        ****   	//OS_run_task();
 177:main.c        **** 	//network layer management
 178:main.c        **** 	switch(mac_current_state)
 411               	.LM29:
 412 00b6 8091 0000 		lds r24,mac_current_state
 413 00ba 9927      		clr r25
 414 00bc 8630      		cpi r24,6
 415 00be 9105      		cpc r25,__zero_reg__
 416 00c0 09F4      		brne .+2
 417 00c2 3FC0      		rjmp .L17
 418 00c4 8730      		cpi r24,7
 419 00c6 9105      		cpc r25,__zero_reg__
 420 00c8 34F4      		brge .L44
 421 00ca 0097      		sbiw r24,0
 422 00cc 91F0      		breq .L16
 423 00ce 0497      		sbiw r24,4
 424 00d0 09F4      		brne .+2
 425 00d2 DFC0      		rjmp .L25
 426 00d4 7AC1      		rjmp .L15
 427               	.L44:
 428 00d6 8F30      		cpi r24,15
 429 00d8 9105      		cpc r25,__zero_reg__
 430 00da 09F4      		brne .+2
 431 00dc 62C0      		rjmp .L21
 432 00de 8031      		cpi r24,16
 433 00e0 9105      		cpc r25,__zero_reg__
 434 00e2 1CF4      		brge .L45
 435 00e4 0A97      		sbiw r24,10
 436 00e6 B1F1      		breq .L18
 437 00e8 70C1      		rjmp .L15
 438               	.L45:
 439 00ea 4297      		sbiw r24,18
 440 00ec 09F4      		brne .+2
 441 00ee EEC0      		rjmp .L27
 442 00f0 6CC1      		rjmp .L15
 443               	.L16:
 179:main.c        **** 		{
 180:main.c        **** 		    case MAC_STATE_UNSTARTED:
 181:main.c        **** 			    printf("\n----START TO FORM NETWORK----\n");	
 445               	.LM30:
 446 00f2 80E0      		ldi r24,lo8(.LC1)
 447 00f4 90E0      		ldi r25,hi8(.LC1)
 448 00f6 0E94 0000 		call puts
 182:main.c        **** 			      MAC_init();	  
 450               	.LM31:
 451 00fa 0E94 0000 		call MAC_init
 183:main.c        **** 			      mlmeResetRequest(TRUE);
 453               	.LM32:
 454 00fe 81E0      		ldi r24,lo8(1)
 455 0100 0E94 0000 		call mlmeResetRequest
 184:main.c        **** 			      IS_NETWORK_FORMED=FALSE; 	  
 457               	.LM33:
 458 0104 1092 0000 		sts IS_NETWORK_FORMED,__zero_reg__
 185:main.c        **** 			      mlmeScanRequest(ED_SCAN, 0x00000008, 6);  
 460               	.LM34:
 461 0108 26E0      		ldi r18,lo8(6)
 462 010a 48E0      		ldi r20,lo8(8)
 463 010c 50E0      		ldi r21,hi8(8)
 464 010e 60E0      		ldi r22,hlo8(8)
 465 0110 70E0      		ldi r23,hhi8(8)
 466 0112 80E0      		ldi r24,lo8(0)
 467 0114 0E94 0000 		call mlmeScanRequest
 186:main.c        **** 			      //for(index=0;index<scan_result_info.resultListSize;index++)		  
 187:main.c        ****                            printf("%8d\n",scan_result_info.pEnergyDetectList[index]);	  
 469               	.LM35:
 470 0118 EB2D      		mov r30,r11
 471 011a FF27      		clr r31
 472 011c E050      		subi r30,lo8(-(scan_result_info))
 473 011e F040      		sbci r31,hi8(-(scan_result_info))
 474 0120 8781      		ldd r24,Z+7
 475 0122 9927      		clr r25
 476 0124 87FD      		sbrc r24,7
 477 0126 9095      		com r25
 478 0128 9F93      		push r25
 479 012a 8F93      		push r24
 480 012c 80E0      		ldi r24,lo8(.LC2)
 481 012e 90E0      		ldi r25,hi8(.LC2)
 482 0130 9F93      		push r25
 483 0132 8F93      		push r24
 484 0134 0E94 0000 		call printf
 188:main.c        **** 			      break;
 486               	.LM36:
 487 0138 0F90      		pop __tmp_reg__
 488 013a 0F90      		pop __tmp_reg__
 489 013c 0F90      		pop __tmp_reg__
 490 013e 0F90      		pop __tmp_reg__
 491 0140 44C1      		rjmp .L15
 492               	.L17:
 189:main.c        ****             case MAC_STATE_ENERGY_SCAN_FINISHED:
 190:main.c        **** 			      mlmeScanRequest(ACTIVE_PASSIVE_SCAN, 0x00000008, 6); 
 494               	.LM37:
 495 0142 26E0      		ldi r18,lo8(6)
 496 0144 48E0      		ldi r20,lo8(8)
 497 0146 50E0      		ldi r21,hi8(8)
 498 0148 60E0      		ldi r22,hlo8(8)
 499 014a 70E0      		ldi r23,hhi8(8)
 500 014c 81E0      		ldi r24,lo8(1)
 501 014e 0E94 0000 		call mlmeScanRequest
 191:main.c        **** 				
 192:main.c        **** 			      break; 	  
 503               	.LM38:
 504 0152 3BC1      		rjmp .L15
 505               	.L18:
 193:main.c        **** 		    case MAC_STATE_ACTIVE_PASSIVE_SCAN_FINISHED:
 194:main.c        **** 			     printf("ok\n");
 507               	.LM39:
 508 0154 80E0      		ldi r24,lo8(.LC3)
 509 0156 90E0      		ldi r25,hi8(.LC3)
 510 0158 0E94 0000 		call puts
 195:main.c        **** 				if(!IS_COORDINATOR)
 196:main.c        **** 				mlmeSyncRequest(ppib.phyCurrentChanel,TRUE);
 197:main.c        **** 				//mac_current_state=MAC_STATE_SYNING;
 198:main.c        **** 				else
 199:main.c        **** 				{
 200:main.c        **** 					printf("ok1\n");
 512               	.LM40:
 513 015c 80E0      		ldi r24,lo8(.LC4)
 514 015e 90E0      		ldi r25,hi8(.LC4)
 515 0160 0E94 0000 		call puts
 201:main.c        **** 				  cc2420_setshortaddress((uint16_t)mac_pib_data.macShortAddress.Val);
 517               	.LM41:
 518 0164 8091 0000 		lds r24,mac_pib_data+32
 519 0168 9091 0000 		lds r25,(mac_pib_data+32)+1
 520 016c 0E94 0000 		call cc2420_setshortaddress
 202:main.c        ****                               cc2420_setpanid((uint16_t)mac_pib_data.macPANId.Val);	  
 522               	.LM42:
 523 0170 8091 0000 		lds r24,mac_pib_data+28
 524 0174 9091 0000 		lds r25,(mac_pib_data+28)+1
 525 0178 0E94 0000 		call cc2420_setpanid
 203:main.c        **** 				  mlmeStartRequest(mac_pib_data.macPANId,3, mac_pib_data.macBeaconOrder, mac_pib_data.macSuperf
 527               	.LM43:
 528 017c 8824      		clr r8
 529 017e 9924      		clr r9
 530 0180 AA24      		clr r10
 531 0182 CA2C      		mov r12,r10
 532 0184 E090 0000 		lds r14,mac_pib_data+3
 533 0188 01E0      		ldi r16,lo8(1)
 534 018a 2091 0000 		lds r18,mac_pib_data+42
 535 018e 4091 0000 		lds r20,mac_pib_data+8
 536 0192 63E0      		ldi r22,lo8(3)
 537 0194 8091 0000 		lds r24,mac_pib_data+28
 538 0198 9091 0000 		lds r25,(mac_pib_data+28)+1
 539 019c 0E94 0000 		call mlmeStartRequest
 204:main.c        **** 				}
 205:main.c        **** 			       break;	
 541               	.LM44:
 542 01a0 14C1      		rjmp .L15
 543               	.L21:
 206:main.c        ****             case MAC_STATE_SYNING_END:
 207:main.c        **** 				  printf("ok2\n");
 545               	.LM45:
 546 01a2 80E0      		ldi r24,lo8(.LC5)
 547 01a4 90E0      		ldi r25,hi8(.LC5)
 548 01a6 0E94 0000 		call puts
 208:main.c        **** 			       if(!IS_NETWORK_FORMED)
 550               	.LM46:
 551 01aa 8090 0000 		lds r8,IS_NETWORK_FORMED
 552 01ae 8820      		tst r8
 553 01b0 D1F4      		brne .L22
 209:main.c        **** 			       {
 210:main.c        **** 			           //if(phy_channel_state==PHY_IDLE)	  	
 211:main.c        **** 			         //printf("\nstart to do the associate\n");
 212:main.c        **** 				    //mac_current_state=MAC_STATE_IDLE;
 213:main.c        **** 				    temp_node.bytes=0x88;
 214:main.c        **** 				    temp_addr.Short=mac_pib_data.macCoordShortAddress;
 555               	.LM47:
 556 01b2 8091 0000 		lds r24,mac_pib_data+22
 557 01b6 9091 0000 		lds r25,(mac_pib_data+22)+1
 558 01ba 8983      		std Y+1,r24
 559 01bc 9A83      		std Y+2,r25
 215:main.c        **** 				    mlmeAssociateRequest(ppib.phyCurrentChanel, 0x02, mac_pib_data.macPANId,temp_addr , temp_no
 561               	.LM48:
 562 01be 88E8      		ldi r24,lo8(-120)
 563 01c0 A82E      		mov r10,r24
 564 01c2 C980      		ldd r12,Y+1
 565 01c4 DA80      		ldd r13,Y+2
 566 01c6 EB80      		ldd r14,Y+3
 567 01c8 FC80      		ldd r15,Y+4
 568 01ca 0D81      		ldd r16,Y+5
 569 01cc 1E81      		ldd r17,Y+6
 570 01ce 2F81      		ldd r18,Y+7
 571 01d0 3885      		ldd r19,Y+8
 572 01d2 4091 0000 		lds r20,mac_pib_data+28
 573 01d6 5091 0000 		lds r21,(mac_pib_data+28)+1
 574 01da 62E0      		ldi r22,lo8(2)
 575 01dc 8091 0000 		lds r24,ppib
 576 01e0 0E94 0000 		call mlmeAssociateRequest
 577 01e4 F2C0      		rjmp .L15
 578               	.L22:
 216:main.c        **** 				    //IS_FIRST	
 217:main.c        **** 			       }
 218:main.c        **** 				else
 219:main.c        **** 				{
 220:main.c        **** 				    if(DATA_READY)
 580               	.LM49:
 581 01e6 8091 0000 		lds r24,DATA_READY
 582 01ea 8823      		tst r24
 583 01ec 09F4      		brne .+2
 584 01ee EDC0      		rjmp .L15
 585               	.LBB4:
 221:main.c        **** 				    	{
 222:main.c        **** 					 //printf("\n---sensor data sent--\n");	
 223:main.c        **** 					   //---------------------------------------
 224:main.c        **** 					   //---------------------------------------
 225:main.c        **** 					   NODE_INFO dst;
 226:main.c        **** 					   NODE_INFO src;
 227:main.c        **** 					   uint8_t        msdulength;
 228:main.c        **** 					   BYTE  *       pMsdu;
 229:main.c        **** 					   BYTE           msduhandle;
 230:main.c        **** 					   BYTE           txOptions;
 231:main.c        **** 					   dst.addrMode=0x02;
 587               	.LM50:
 588 01f0 82E0      		ldi r24,lo8(2)
 589 01f2 8987      		std Y+9,r24
 232:main.c        **** 					   dst.shortAddr=mac_pib_data.macCoordShortAddress;
 591               	.LM51:
 592 01f4 8091 0000 		lds r24,mac_pib_data+22
 593 01f8 9091 0000 		lds r25,(mac_pib_data+22)+1
 594 01fc 8A8B      		std Y+18,r24
 595 01fe 9B8B      		std Y+19,r25
 233:main.c        **** 					   dst.panID=mac_pib_data.macPANId;
 597               	.LM52:
 598 0200 8091 0000 		lds r24,mac_pib_data+28
 599 0204 9091 0000 		lds r25,(mac_pib_data+28)+1
 600 0208 8C8B      		std Y+20,r24
 601 020a 9D8B      		std Y+21,r25
 234:main.c        **** 					   src.addrMode=0x03;
 603               	.LM53:
 604 020c 83E0      		ldi r24,lo8(3)
 605 020e 8E8B      		std Y+22,r24
 235:main.c        **** 					   src.longAddr=mac_pib_data.macExtAddress;
 607               	.LM54:
 608 0210 88E0      		ldi r24,lo8(8)
 609 0212 DE01      		movw r26,r28
 610 0214 5796      		adiw r26,23
 611 0216 E0E0      		ldi r30,lo8(mac_pib_data+34)
 612 0218 F0E0      		ldi r31,hi8(mac_pib_data+34)
 613 021a 0190      		ld __tmp_reg__,Z+
 614 021c 0D92      		st X+,__tmp_reg__
 615 021e 8A95      		dec r24
 616 0220 E1F7      		brne .-8
 236:main.c        **** 					   src.panID=mac_pib_data.macPANId;
 618               	.LM55:
 619 0222 8091 0000 		lds r24,mac_pib_data+28
 620 0226 9091 0000 		lds r25,(mac_pib_data+28)+1
 621 022a 89A3      		std Y+33,r24
 622 022c 9AA3      		std Y+34,r25
 237:main.c        **** 					   msdulength=20;
 238:main.c        **** 					   pMsdu=(BYTE *)SENSOR_DATA_VALUE;
 239:main.c        **** 					   msduhandle=0;
 240:main.c        **** 					   txOptions=0x01;
 241:main.c        **** 					   mcpsDataRequest(dst, src, msdulength, pMsdu, msduhandle, txOptions);
 624               	.LM56:
 625 022e 81E0      		ldi r24,lo8(1)
 626 0230 8F93      		push r24
 627 0232 1F92      		push __zero_reg__
 628 0234 80E0      		ldi r24,lo8(SENSOR_DATA_VALUE)
 629 0236 90E0      		ldi r25,hi8(SENSOR_DATA_VALUE)
 630 0238 9F93      		push r25
 631 023a 8F93      		push r24
 632 023c 84E1      		ldi r24,lo8(20)
 633 023e 8F93      		push r24
 634 0240 8DB7      		in r24,__SP_L__
 635 0242 9EB7      		in r25,__SP_H__
 636 0244 0D97      		sbiw r24,13
 637 0246 0FB6      		in __tmp_reg__,__SREG__
 638 0248 F894      		cli
 639 024a 9EBF      		out __SP_H__,r25
 640 024c 0FBE      		out __SREG__,__tmp_reg__
 641 024e 8DBF      		out __SP_L__,r24
 642 0250 0196      		adiw r24,1
 643 0252 2DE0      		ldi r18,lo8(13)
 644 0254 FC01      		movw r30,r24
 645 0256 DE01      		movw r26,r28
 646 0258 5696      		adiw r26,22
 647 025a 0D90      		ld __tmp_reg__,X+
 648 025c 0192      		st Z+,__tmp_reg__
 649 025e 2A95      		dec r18
 650 0260 E1F7      		brne .-8
 651 0262 C984      		ldd r12,Y+9
 652 0264 DA84      		ldd r13,Y+10
 653 0266 EB84      		ldd r14,Y+11
 654 0268 FC84      		ldd r15,Y+12
 655 026a 0D85      		ldd r16,Y+13
 656 026c 1E85      		ldd r17,Y+14
 657 026e 2F85      		ldd r18,Y+15
 658 0270 3889      		ldd r19,Y+16
 659 0272 4989      		ldd r20,Y+17
 660 0274 5A89      		ldd r21,Y+18
 661 0276 6B89      		ldd r22,Y+19
 662 0278 7C89      		ldd r23,Y+20
 663 027a 8D89      		ldd r24,Y+21
 664 027c 0E94 0000 		call mcpsDataRequest
 665               	.LBE4:
 666 0280 8DB7      		in r24,__SP_L__
 667 0282 9EB7      		in r25,__SP_H__
 668 0284 4296      		adiw r24,18
 669 0286 0FB6      		in __tmp_reg__,__SREG__
 670 0288 F894      		cli
 671 028a 9EBF      		out __SP_H__,r25
 672 028c 0FBE      		out __SREG__,__tmp_reg__
 673 028e 8DBF      		out __SP_L__,r24
 242:main.c        **** 					   //mac_current_state=MAC_STATE_START_TO_SLEEP;
 243:main.c        **** 				    	}	
 244:main.c        **** 				}
 245:main.c        **** 				break;
 675               	.LM57:
 676 0290 9CC0      		rjmp .L15
 677               	.L25:
 246:main.c        ****              case MAC_STATE_ASSOC_FINISHED:
 247:main.c        **** 				printf("ok3\n");
 679               	.LM58:
 680 0292 80E0      		ldi r24,lo8(.LC6)
 681 0294 90E0      		ldi r25,hi8(.LC6)
 682 0296 0E94 0000 		call puts
 248:main.c        **** 				//网络已经建立完成,可以启动ADC传感器采样  
 249:main.c        **** 				if((!head_of_rx_buffer)&&(!head_of_tx_buffer)&&(!head_of_timer_queue))
 684               	.LM59:
 685 029a 8091 0000 		lds r24,head_of_rx_buffer
 686 029e 9091 0000 		lds r25,(head_of_rx_buffer)+1
 687 02a2 892B      		or r24,r25
 688 02a4 79F4      		brne .L26
 689 02a6 8091 0000 		lds r24,head_of_tx_buffer
 690 02aa 9091 0000 		lds r25,(head_of_tx_buffer)+1
 691 02ae 892B      		or r24,r25
 692 02b0 49F4      		brne .L26
 693 02b2 8091 0000 		lds r24,head_of_timer_queue
 694 02b6 9091 0000 		lds r25,(head_of_timer_queue)+1
 695 02ba 892B      		or r24,r25
 696 02bc 19F4      		brne .L26
 250:main.c        **** 				 //printf("\nnetwork successful formed\n");	
 251:main.c        **** 				IS_NETWORK_FORMED=TRUE;
 698               	.LM60:
 699 02be 81E0      		ldi r24,lo8(1)
 700 02c0 8093 0000 		sts IS_NETWORK_FORMED,r24
 701               	.L26:
 252:main.c        **** 				mac_current_state=MAC_STATE_IDLE;

⌨️ 快捷键说明

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