📄 main.lis
字号:
0000 0E940000 xcall _dd_initialise
0004 .dbline 21
0004 ; CLI();
0004 F894 cli
0006 .dbline 22
0006 ; dd_read_ADF70XX_version();
0006 0E940000 xcall _dd_read_ADF70XX_version
000A .dbline 25
000A ; //dd_read_filter_cal();
000A ; // dd_read_RSSI();
000A ; dd_set_ADF7021_Power_off();
000A 0E940000 xcall _dd_set_ADF7021_Power_off
000E .dbline 27
000E ;
000E ; dd_set_ADF7021_Power_on();
000E 0E940000 xcall _dd_set_ADF7021_Power_on
0012 .dbline 31
0012 ; //test_mode();
0012 ; //if (has_set_rx_mode_before == 1 & phy_state == PHY_IN_TX_MODE) dd_set_TX_to_RX_mode();
0012 ; //else dd_set_RX_mode();
0012 ; dd_set_RX_mode();
0012 0E940000 xcall _dd_set_RX_mode
0016 .dbline 33
0016 ; //dd_read_filter_cal();
0016 ; GICR|=0x20; // Enable INT0 interrupt (Connecting ADF7021 INT/LOCK Pin)
0016 8BB7 in R24,0x3b
0018 8062 ori R24,32
001A 8BBF out 0x3b,R24
001C .dbline 34
001C ; led_state[0]=0;
001C 2224 clr R2
001E 20920D00 sts _led_state,R2
0022 .dbline 35
0022 ; led_state[1]=0;
0022 20920E00 sts _led_state+1,R2
0026 .dbline 36
0026 ; SEI();
0026 7894 sei
0028 .dbline 38
0028 ; #if tx_en
0028 ; rf_tx_state[0] = 1;
0028 81E0 ldi R24,1
002A 80930000 sts _rf_tx_state,R24
002E .dbline 39
002E ; uart_rx_rf_tx_count=9;
002E 89E0 ldi R24,9
0030 80930000 sts _uart_rx_rf_tx_count,R24
0034 .dbline 41
0034 ; #endif
0034 ; DDRB &= ~(1<<SPI_MISO);
0034 BE98 cbi 0x17,6
0036 .dbline 42
0036 ; PORTB |= 1<<SPI_MISO;
0036 C69A sbi 0x18,6
0038 39C0 xjmp L10
003A L9:
003A .dbline 44
003A ; while(1)
003A ; {
003A .dbline 46
003A ;
003A ; if(rf_tx_state[1]==1){
003A 80910100 lds R24,_rf_tx_state+1
003E 8130 cpi R24,1
0040 41F5 brne L12
0042 .dbline 46
0042 .dbline 48
0042 ;
0042 ; if(rf_tx_state[2]==1){
0042 80910200 lds R24,_rf_tx_state+2
0046 8130 cpi R24,1
0048 21F5 brne L15
004A .dbline 48
004A .dbline 50
004A ;
004A ; CLI();
004A F894 cli
004C .dbline 51
004C ; dd_set_ADF7021_Power_off();
004C 0E940000 xcall _dd_set_ADF7021_Power_off
0050 .dbline 52
0050 ; temp_count1[0]=0x8ff;
0050 8FEF ldi R24,2303
0052 98E0 ldi R25,8
0054 90930600 sts _temp_count1+1,R25
0058 80930500 sts _temp_count1,R24
005C L18:
005C .dbline 54
005C .dbline 56
005C L19:
005C .dbline 53
005C ; while(temp_count1[0]-->0)
005C 20900500 lds R2,_temp_count1
0060 30900600 lds R3,_temp_count1+1
0064 C101 movw R24,R2
0066 0197 sbiw R24,1
0068 90930600 sts _temp_count1+1,R25
006C 80930500 sts _temp_count1,R24
0070 2220 tst R2
0072 A1F7 brne L18
0074 3320 tst R3
0076 91F7 brne L18
0078 X0:
0078 .dbline 57
0078 ; {
0078 ;
0078 ; }
0078 ; dd_set_ADF7021_Power_on();
0078 0E940000 xcall _dd_set_ADF7021_Power_on
007C .dbline 60
007C ; //if (has_set_rx_mode_before == 1 & phy_state == PHY_IN_TX_MODE) dd_set_TX_to_RX_mode();
007C ; //else dd_set_RX_mode();
007C ; dd_set_RX_mode();
007C 0E940000 xcall _dd_set_RX_mode
0080 .dbline 61
0080 ; GICR|=0x20; // Enable INT0 interrupt (Connecting ADF7021 INT/LOCK Pin)
0080 8BB7 in R24,0x3b
0082 8062 ori R24,32
0084 8BBF out 0x3b,R24
0086 .dbline 62
0086 ; SEI();
0086 7894 sei
0088 .dbline 63
0088 ; rf_tx_state[1]=0;
0088 2224 clr R2
008A 20920100 sts _rf_tx_state+1,R2
008E .dbline 64
008E ; rf_tx_state[2]=0;
008E 20920200 sts _rf_tx_state+2,R2
0092 .dbline 65
0092 ; }
0092 L15:
0092 .dbline 66
0092 ; }
0092 L12:
0092 .dbline 68
0092 ;
0092 ; if (rf_tx_state[0] == 1){
0092 80910000 lds R24,_rf_tx_state
0096 8130 cpi R24,1
0098 49F4 brne L23
009A .dbline 68
009A .dbline 70
009A ;
009A ; dd_idle();
009A 0E940000 xcall _dd_idle
009E .dbline 71
009E ; transmit_constant_frame();
009E 08D0 xcall _transmit_constant_frame
00A0 .dbline 75
00A0 ;
00A0 ; #if tx_never
00A0 ;
00A0 ; rf_tx_state[1]=0;
00A0 2224 clr R2
00A2 20920100 sts _rf_tx_state+1,R2
00A6 .dbline 76
00A6 ; rf_tx_state[0] = 1;
00A6 81E0 ldi R24,1
00A8 80930000 sts _rf_tx_state,R24
00AC .dbline 84
00AC ; #else
00AC ; rf_tx_state[0] = 0;
00AC ; rf_tx_state[1] = 1;
00AC ; rf_tx_state[2] = 1;
00AC ;
00AC ; #endif
00AC ; //rf_tx_state[2]=0;
00AC ; }
00AC L23:
00AC .dbline 87
00AC L10:
00AC .dbline 43
00AC C6CF xjmp L9
00AE X1:
00AE .dbline -2
00AE .dbline 91
00AE ;
00AE ;
00AE ; }
00AE ;
00AE ; // for(;;) {my_delay(10000); P3 ^= 0x10; }
00AE ;
00AE ; }
00AE L7:
00AE .dbline 0 ; func end
00AE 0895 ret
00B0 .dbend
00B0 .dbfunc e transmit_constant_frame _transmit_constant_frame fV
00B0 ; byte -> <dead>
00B0 ; i -> <dead>
00B0 ; j -> <dead>
00B0 ; delay_count -> R20,R21
.even
00B0 _transmit_constant_frame::
00B0 0E940000 xcall push_gset3
00B4 .dbline -1
00B4 .dbline 103
00B4 ;
00B4 ;
00B4 ;
00B4 ; /*****************************************************************************
00B4 ; Function: transmit_constant_frame
00B4 ; ==============================================================================
00B4 ; Description:
00B4 ; Transmit a frame including preamble & sync word, payload length,
00B4 ; payload and CRC
00B4 ; *****************************************************************************/
00B4 ; void transmit_constant_frame(void)
00B4 ; {
00B4 .dbline 112
00B4 ; // prepare tx frame header including preamble, sync word, payload length; the following is just an example
00B4 ;
00B4 ;
00B4 ; //mac_tx_packet_header.seq_number = 0x0FF4;
00B4 ; //mac_tx_packet_header.short_address = 0xAA;
00B4 ; //mac_tx_packet_header.payload_length = uart_rx_rf_tx_count;
00B4 ; unsigned int delay_count;
00B4 ; unsigned char j,i,byte;
00B4 ; dd_set_ADF7021_Power_off();
00B4 0E940000 xcall _dd_set_ADF7021_Power_off
00B8 .dbline 113
00B8 ; delay_count=0x8ff;
00B8 4FEF ldi R20,2303
00BA 58E0 ldi R21,8
00BC .dbline 114
00BC ; PORTA |= 1<<RFMD_EN;
00BC DE9A sbi 0x1b,6
00BE .dbline 115
00BE ; DDRB |= 1<<SPI_MISO;
00BE BE9A sbi 0x17,6
00C0 .dbline 116
00C0 ; PORTB |= 1<<SPI_MISO;
00C0 C69A sbi 0x18,6
00C2 L27:
00C2 .dbline 118
00C2 .dbline 120
00C2 L28:
00C2 .dbline 117
00C2 ; while(delay_count-->0)
00C2 1A01 movw R2,R20
00C4 4150 subi R20,1
00C6 5040 sbci R21,0
00C8 2220 tst R2
00CA D9F7 brne L27
00CC 3320 tst R3
00CE C9F7 brne L27
00D0 X2:
00D0 .dbline 126
00D0 ; {
00D0 ;
00D0 ; }
00D0 ;
00D0 ;
00D0 ;
00D0 ; // prepare payload length
00D0 ; //0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0x12, 0x34, 0x56
00D0 ; dd_port_data_tx_buffer[0]=0xAA;
00D0 8AEA ldi R24,170
00D2 80930000 sts _dd_port_data_tx_buffer,R24
00D6 .dbline 127
00D6 ; dd_port_data_tx_buffer[1]=0xAA;
00D6 80930100 sts _dd_port_data_tx_buffer+1,R24
00DA .dbline 128
00DA ; dd_port_data_tx_buffer[2]=0xAA;
00DA 80930200 sts _dd_port_data_tx_buffer+2,R24
00DE .dbline 129
00DE ; dd_port_data_tx_buffer[3]=0xAA;
00DE 80930300 sts _dd_port_data_tx_buffer+3,R24
00E2 .dbline 130
00E2 ; dd_port_data_tx_buffer[4]=0xAA;
00E2 80930400 sts _dd_port_data_tx_buffer+4,R24
00E6 .dbline 131
00E6 ; dd_port_data_tx_buffer[5]=0x12;
00E6 82E1 ldi R24,18
00E8 80930500 sts _dd_port_data_tx_buffer+5,R24
00EC .dbline 132
00EC ; dd_port_data_tx_buffer[6]=0x34;
00EC 84E3 ldi R24,52
00EE 80930600 sts _dd_port_data_tx_buffer+6,R24
00F2 .dbline 133
00F2 ; dd_port_data_tx_buffer[7]=0x56;
00F2 86E5 ldi R24,86
00F4 80930700 sts _dd_port_data_tx_buffer+7,R24
00F8 .dbline 135
00F8 ; #if tx_never
00F8 ; dd_port_data_tx_buffer[8]=0x09;
00F8 89E0 ldi R24,9
00FA 80930800 sts _dd_port_data_tx_buffer+8,R24
00FE .dbline 136
00FE ; dd_port_data_tx_buffer[9]=0x55;
00FE 85E5 ldi R24,85
0100 80930900 sts _dd_port_data_tx_buffer+9,R24
0104 .dbline 137
0104 ; dd_port_data_tx_buffer[10]=0x55;
0104 80930A00 sts _dd_port_data_tx_buffer+10,R24
0108 .dbline 138
0108 ; dd_port_data_tx_buffer[11]=0x55;
0108 80930B00 sts _dd_port_data_tx_buffer+11,R24
010C .dbline 139
010C ; dd_port_data_tx_buffer[12]=0x76;
010C 86E7 ldi R24,118
010E 80930C00 sts _dd_port_data_tx_buffer+12,R24
0112 .dbline 140
0112 ; dd_port_data_tx_buffer[13]=0x54;
0112 84E5 ldi R24,84
0114 80930D00 sts _dd_port_data_tx_buffer+13,R24
0118 .dbline 141
0118 ; dd_port_data_tx_buffer[14]=0x32;
0118 82E3 ldi R24,50
011A 80930E00 sts _dd_port_data_tx_buffer+14,R24
011E .dbline 142
011E ; dd_port_data_tx_buffer[15]=0x07;
011E 87E0 ldi R24,7
0120 80930F00 sts _dd_port_data_tx_buffer+15,R24
0124 .dbline 143
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -