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

📄 timer3.lst

📁 无线传感器星型网络的节点的基站程序,采用802.15.4协议
💻 LST
📖 第 1 页 / 共 2 页
字号:
 386 00ac 65E0      		ldi r22,lo8(5)
 387 00ae 02C0      		rjmp .L8
 388               	.L6:
  81:timer3.c      ****       else
  82:timer3.c      ****       Timer3_setIntervalAndScale(halfsymbols-65535, 0x5);  	
 390               	.LM28:
 391 00b0 65E0      		ldi r22,lo8(5)
 392 00b2 0196      		adiw r24,1
 393               	.L8:
 394 00b4 0E94 0000 		call Timer3_setIntervalAndScale
 395 00b8 0895      		ret
 396               	/* epilogue: frame size=0 */
 397 00ba 0895      		ret
 398               	/* epilogue end (size=1) */
 399               	/* function Timer3_sethalfsymbol size 22 (21) */
 404               	.global	Timer3_acquireInterval
 406               	Timer3_acquireInterval:
  83:timer3.c      **** }
  84:timer3.c      **** //供高层调用获得下一次定时的比较寄存器应当设置的值
  85:timer3.c      **** uint32_t 	Timer3_acquireInterval(uint16_t interval)
  86:timer3.c      **** {
 408               	.LM29:
 409               	/* prologue: frame size=0 */
 410               	/* prologue end (size=0) */
  87:timer3.c      ****        uint32_t temp;
  88:timer3.c      **** 	uint16_t  tcnt_3;
  89:timer3.c      **** 	tcnt_3=TCNT3;
 412               	.LM30:
 413 00bc 2091 8800 		lds r18,136
 414 00c0 3091 8900 		lds r19,(136)+1
  90:timer3.c      ****        temp=(uint32_t)tcnt_3+(((uint32_t)interval)<<1);
 416               	.LM31:
 417 00c4 4427      		clr r20
 418 00c6 5527      		clr r21
 419 00c8 AA27      		clr r26
 420 00ca BB27      		clr r27
 421 00cc 880F      		lsl r24
 422 00ce 991F      		rol r25
 423 00d0 AA1F      		rol r26
 424 00d2 BB1F      		rol r27
 425 00d4 280F      		add r18,r24
 426 00d6 391F      		adc r19,r25
 427 00d8 4A1F      		adc r20,r26
 428 00da 5B1F      		adc r21,r27
  91:timer3.c      **** 	// (temp>=65535) temp=temp-65535;
  92:timer3.c      **** 	return (temp);
  93:timer3.c      **** }
 430               	.LM32:
 431 00dc CA01      		movw r24,r20
 432 00de B901      		movw r22,r18
 433               	/* epilogue: frame size=0 */
 434 00e0 0895      		ret
 435               	/* epilogue end (size=1) */
 436               	/* function Timer3_acquireInterval size 19 (18) */
 441               	.global	Timer3_adjustInterval
 443               	Timer3_adjustInterval:
  94:timer3.c      **** uint8_t    Timer3_adjustInterval(uint16_t interval)
  95:timer3.c      **** {
 445               	.LM33:
 446               	/* prologue: frame size=0 */
 447 00e2 0F93      		push r16
 448 00e4 1F93      		push r17
 449               	/* prologue end (size=2) */
 450 00e6 8C01      		movw r16,r24
 451               	.LBB4:
  96:timer3.c      ****    { os_atomic_t _nesc_atomic = os_atomic_start();
 453               	.LM34:
 454 00e8 0E94 0000 		call os_atomic_start
  97:timer3.c      ****      {
  98:timer3.c      **** 	/*if(interval<65536)*/
  99:timer3.c      **** 	  OCR3A = interval;//this is the scale
 456               	.LM35:
 457 00ec 1093 8700 		sts (134)+1,r17
 458 00f0 0093 8600 		sts 134,r16
 100:timer3.c      **** 	/* else
 101:timer3.c      **** 	  OCR3A =interval-65535;*/
 102:timer3.c      ****      }
 103:timer3.c      ****     os_atomic_end(_nesc_atomic); }

 460               	.LM36:
 461 00f4 0E94 0000 		call os_atomic_end
 462               	.LBE4:
 104:timer3.c      ****     return 1;
 105:timer3.c      **** }
 106:timer3.c      **** //供底层调用获得定时器比较寄存器应当设置的值,下一个定时任务
 464               	.LM37:
 465 00f8 81E0      		ldi r24,lo8(1)
 466 00fa 90E0      		ldi r25,hi8(1)
 467               	/* epilogue: frame size=0 */
 468 00fc 1F91      		pop r17
 469 00fe 0F91      		pop r16
 470 0100 0895      		ret
 471               	/* epilogue end (size=3) */
 472               	/* function Timer3_adjustInterval size 16 (11) */
 475               	.global	Timer3_getnextInterval
 477               	Timer3_getnextInterval:
 107:timer3.c      **** uint16_t  Timer3_getnextInterval(void)
 108:timer3.c      **** {
 109:timer3.c      ****       return timer3queue_getnextinterval();
 479               	.LM38:
 480               	/* prologue: frame size=0 */
 481               	/* prologue end (size=0) */
 110:timer3.c      **** }...
 483               	.LM39:
 484 0102 0E94 0000 		call timer3queue_getnextinterval
 485               	/* epilogue: frame size=0 */
 486 0106 0895      		ret
 487               	/* epilogue end (size=1) */
 488               	/* function Timer3_getnextInterval size 3 (2) */
 490               		.comm OS_queue,16,1
 491               		.comm OS_sched_full,1,1
 492               		.comm OS_sched_free,1,1
 493               		.comm currentTime,2,1
 494               		.comm head_of_systimer_queue,2,1
 495               		.comm timestamp_H,2,1
 496               		.comm mState,4,1
 497               		.comm setIntervalFlag,1,1
 498               		.comm mScale,1,1
 499               		.comm mInterval,1,1
 500               		.comm queue_head,1,1
 501               		.comm queue_tail,1,1
 502               		.comm queue_size,1,1
 503               		.comm queue,3,1
 504               		.comm mTimerList,33,1
 505               		.comm cc2420_bramspi,1,1
 506               		.comm cc2420_rambuf,2,1
 507               		.comm cc2420_ramlen,1,1
 508               		.comm cc2420_ramaddr,2,1
 509               		.comm cc2420fifo_bspi,1,1
 510               		.comm cc2420fifo_txbuf,2,1
 511               		.comm cc2420fifo_txlength,1,1
 512               		.comm cc2420_rxbuf,4,1
 513               		.comm cc2420_rxlength,1,1
 514               		.comm cc2420_rxbuf_now,2,1
 515               		.comm cc2420_rxlength_now,1,1
 516               		.comm cc2420_rxbufuse,1,1
 517               		.comm rfpackernum,1,1
 518               		.comm cc2420_rxflag,1,1
 519               		.comm cc2420_currentparameters,28,1
 520               		.comm receive_timestamp,4,1
 521               		.comm send_timestamp,4,1
 522               		.comm cc2420_stateRadio,1,1
 523               		.comm cc2420_LocalAddr,2,1
 524               		.comm ieee_address,8,1
 525               		.comm GTSDirectionMask,1,1
 526               		.comm phy_channel_state,1,1
 527               		.comm rxbuf_flag,1,1
 528               		.comm ppib,3,1
 529               		.comm SENSOR_DATA_VALUE,20,1
 530               		.comm ADC_INTERRUPT_FLAG,1,1
 572               		.text
 574               	Letext:
 575               	/* File "timer3.c": code  132 = 0x0084 ( 115), prologues   5, epilogues  12 */
DEFINED SYMBOLS
                            *ABS*:00000000 timer3.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/cc8Saaaa.s:225    .text:00000000 Timer3_intDisable
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/cc8Saaaa.s:256    .text:0000001e Timer3_fire
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/cc8Saaaa.s:278    .text:00000024 Timer3_setIntervalAndScale
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/cc8Saaaa.s:361    .text:00000090 Timer3_sethalfsymbol
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/cc8Saaaa.s:406    .text:000000bc Timer3_acquireInterval
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/cc8Saaaa.s:443    .text:000000e2 Timer3_adjustInterval
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/cc8Saaaa.s:477    .text:00000102 Timer3_getnextInterval
                            *COM*:00000010 OS_queue
                            *COM*:00000001 OS_sched_full
                            *COM*:00000001 OS_sched_free
                            *COM*:00000002 currentTime
                            *COM*:00000002 head_of_systimer_queue
                            *COM*:00000002 timestamp_H
                            *COM*:00000004 mState
                            *COM*:00000001 setIntervalFlag
                            *COM*:00000001 mScale
                            *COM*:00000001 mInterval
                            *COM*:00000001 queue_head
                            *COM*:00000001 queue_tail
                            *COM*:00000001 queue_size
                            *COM*:00000003 queue
                            *COM*:00000021 mTimerList
                            *COM*:00000001 cc2420_bramspi
                            *COM*:00000002 cc2420_rambuf
                            *COM*:00000001 cc2420_ramlen
                            *COM*:00000002 cc2420_ramaddr
                            *COM*:00000001 cc2420fifo_bspi
                            *COM*:00000002 cc2420fifo_txbuf
                            *COM*:00000001 cc2420fifo_txlength
                            *COM*:00000004 cc2420_rxbuf
                            *COM*:00000001 cc2420_rxlength
                            *COM*:00000002 cc2420_rxbuf_now
                            *COM*:00000001 cc2420_rxlength_now
                            *COM*:00000001 cc2420_rxbufuse
                            *COM*:00000001 rfpackernum
                            *COM*:00000001 cc2420_rxflag
                            *COM*:0000001c cc2420_currentparameters
                            *COM*:00000004 receive_timestamp
                            *COM*:00000004 send_timestamp
                            *COM*:00000001 cc2420_stateRadio
                            *COM*:00000002 cc2420_LocalAddr
                            *COM*:00000008 ieee_address
                            *COM*:00000001 GTSDirectionMask
                            *COM*:00000001 phy_channel_state
                            *COM*:00000001 rxbuf_flag
                            *COM*:00000003 ppib
                            *COM*:00000014 SENSOR_DATA_VALUE
                            *COM*:00000001 ADC_INTERRUPT_FLAG
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/cc8Saaaa.s:574    .text:00000108 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
os_atomic_start
os_atomic_end
timer3queue_interrupt
error
timer3queue_getnextinterval

⌨️ 快捷键说明

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