📄 nrf2401.lis
字号:
0052 .dbline 119
0052 L10:
0052 .dbline 107
0052 0395 inc R16
0054 L12:
0054 .dbline 107
0054 0830 cpi R16,8
0056 90F3 brlo L9
0058 .dbline 121
0058 ;
0058 ; SET(PORTC,CLK1);
0058 ; NOP();
0058 ; NOP();
0058 ; NOP();
0058 ; CLR(PORTC,CLK1);
0058 ; }
0058 ;
0058 ; return temp;
0058 022F mov R16,R18
005A .dbline -2
005A L8:
005A .dbline 0 ; func end
005A 0895 ret
005C .dbsym r i 16 c
005C .dbsym r temp 18 c
005C .dbend
005C .dbfunc e nrf2401A_StandBy _nrf2401A_StandBy fV
.even
005C _nrf2401A_StandBy::
005C .dbline -1
005C .dbline 126
005C ; }
005C ;
005C ; //PwrDown->StandBy
005C ; void nrf2401A_StandBy()
005C ; {
005C .dbline 127
005C ; SET(PORTB,PWR);
005C C69A sbi 0x18,6
005E .dbline 128
005E ; CLR(PORTD,CE);
005E 9498 cbi 0x12,4
0060 .dbline 129
0060 ; CLR(PORTB,CS);
0060 C198 cbi 0x18,1
0062 .dbline -2
0062 L15:
0062 .dbline 0 ; func end
0062 0895 ret
0064 .dbend
0064 .dbfunc e nrf2401A_Off _nrf2401A_Off fV
.even
0064 _nrf2401A_Off::
0064 .dbline -1
0064 .dbline 134
0064 ; }
0064 ;
0064 ; //->PwrDown
0064 ; void nrf2401A_Off()
0064 ; {
0064 .dbline 135
0064 ; CLR(PORTB,PWR);
0064 C698 cbi 0x18,6
0066 .dbline 136
0066 ; CLR(PORTD,CE);
0066 9498 cbi 0x12,4
0068 .dbline 137
0068 ; CLR(PORTB,CS);
0068 C198 cbi 0x18,1
006A .dbline -2
006A L16:
006A .dbline 0 ; func end
006A 0895 ret
006C .dbend
006C .dbfunc e nrf2401A_RwOn _nrf2401A_RwOn fV
.even
006C _nrf2401A_RwOn::
006C .dbline -1
006C .dbline 142
006C ; }
006C ;
006C ; //配置模式
006C ; void nrf2401A_RwOn()
006C ; {
006C .dbline 143
006C ; SET(PORTB,PWR);
006C C69A sbi 0x18,6
006E .dbline 144
006E ; CLR(PORTD,CE);
006E 9498 cbi 0x12,4
0070 .dbline 145
0070 ; SET(PORTB,CS);
0070 C19A sbi 0x18,1
0072 .dbline -2
0072 L17:
0072 .dbline 0 ; func end
0072 0895 ret
0074 .dbend
0074 .dbfunc e nrf2401A_Run _nrf2401A_Run fV
.even
0074 _nrf2401A_Run::
0074 .dbline -1
0074 .dbline 150
0074 ; }
0074 ;
0074 ; //工作模式
0074 ; void nrf2401A_Run()
0074 ; {
0074 .dbline 151
0074 ; SET(PORTC,PWR);
0074 AE9A sbi 0x15,6
0076 .dbline 152
0076 ; CLR(PORTB,CS); //first
0076 C198 cbi 0x18,1
0078 .dbline 153
0078 ; SET(PORTD,CE);
0078 949A sbi 0x12,4
007A .dbline -2
007A L18:
007A .dbline 0 ; func end
007A 0895 ret
007C .dbend
007C .dbfunc e nrf2401A_Config _nrf2401A_Config fV
.even
007C _nrf2401A_Config::
007C .dbline -1
007C .dbline 156
007C ; }
007C ; void nrf2401A_Config(void)
007C ; {
007C .dbline 157
007C ; nrf2401A_RwOn();//配置状态
007C F7DF rcall _nrf2401A_RwOn
007E .dbline 158
007E ; nrf2401A_WR(DATA2_W); //200+16+32+8
007E 00EA ldi R16,160
0080 BFDF rcall _nrf2401A_WR
0082 .dbline 159
0082 ; nrf2401A_WR(DATA1_W); //200
0082 00EA ldi R16,160
0084 BDDF rcall _nrf2401A_WR
0086 .dbline 160
0086 ; nrf2401A_WR(RX_ADDRESS2);
0086 0027 clr R16
0088 BBDF rcall _nrf2401A_WR
008A .dbline 161
008A ; nrf2401A_WR(RX_ADDRESS2);
008A 0027 clr R16
008C B9DF rcall _nrf2401A_WR
008E .dbline 162
008E ; nrf2401A_WR(RX_ADDRESS2);
008E 0027 clr R16
0090 B7DF rcall _nrf2401A_WR
0092 .dbline 163
0092 ; nrf2401A_WR(RX_ADDRESS2);
0092 0027 clr R16
0094 B5DF rcall _nrf2401A_WR
0096 .dbline 164
0096 ; nrf2401A_WR(RX_ADDRESS2);
0096 0027 clr R16
0098 B3DF rcall _nrf2401A_WR
009A .dbline 165
009A ; nrf2401A_WR(RX_ADDRESS_4);
009A 0027 clr R16
009C B1DF rcall _nrf2401A_WR
009E .dbline 166
009E ; nrf2401A_WR(RX_ADDRESS_3);
009E 0CEC ldi R16,204
00A0 AFDF rcall _nrf2401A_WR
00A2 .dbline 167
00A2 ; nrf2401A_WR(RX_ADDRESS_2);
00A2 0CEC ldi R16,204
00A4 ADDF rcall _nrf2401A_WR
00A6 .dbline 168
00A6 ; nrf2401A_WR(RX_ADDRESS_1);
00A6 0CEC ldi R16,204
00A8 ABDF rcall _nrf2401A_WR
00AA .dbline 169
00AA ; nrf2401A_WR(RX_ADDRESS_0);
00AA 0CEC ldi R16,204
00AC A9DF rcall _nrf2401A_WR
00AE .dbline 170
00AE ; nrf2401A_WR(CRC16_EN|ADDR_W); //CRC16,AddrWidth
00AE 03E8 ldi R16,131
00B0 A7DF rcall _nrf2401A_WR
00B2 .dbline 171
00B2 ; nrf2401A_WR(PA_PWR_3|XOF_16MHz|CM_SHOCK);
00B2 0FE4 ldi R16,79
00B4 A5DF rcall _nrf2401A_WR
00B6 .dbline 173
00B6 ; //nrf2401A_WR(PA_PWR_3|XOF_16MHz|RFDR_1M|CM_SHOCK);
00B6 ; nrf2401A_WR(CH_NO_FREQ|RX_EN); //RxMode,Chan
00B6 05E0 ldi R16,5
00B8 A3DF rcall _nrf2401A_WR
00BA .dbline 175
00BA ; //
00BA ; nrf2401A_StandBy();//执行配置
00BA D0DF rcall _nrf2401A_StandBy
00BC .dbline -2
00BC L19:
00BC .dbline 0 ; func end
00BC 0895 ret
00BE .dbend
00BE .dbfunc e nrf2401A_RxOn _nrf2401A_RxOn fV
.even
00BE _nrf2401A_RxOn::
00BE .dbline -1
00BE .dbline 212
00BE ; }
00BE ; /*
00BE ; //配置nRF2401A
00BE ; void nrf2401A_Config(void)
00BE ; {
00BE ; nrf2401A_RwOn();//配置状态
00BE ;
00BE ; nrf2401A_WR(DATA2_W);
00BE ; nrf2401A_WR(DATA1_W);
00BE ; nrf2401A_WR(RX_ADDRESS2);
00BE ; nrf2401A_WR(RX_ADDRESS2);
00BE ; nrf2401A_WR(RX_ADDRESS2);
00BE ; nrf2401A_WR(RX_ADDRESS2);
00BE ; nrf2401A_WR(RX_ADDRESS2);
00BE ; nrf2401A_WR(RX_ADDRESS_4);
00BE ; nrf2401A_WR(RX_ADDRESS_3);
00BE ; nrf2401A_WR(RX_ADDRESS_2);
00BE ; nrf2401A_WR(RX_ADDRESS_1);
00BE ; nrf2401A_WR(RX_ADDRESS_0);
00BE ; nrf2401A_WR(CRC16_EN|ADDR_W);//CRC16,AddrWidth
00BE ; nrf2401A_WR(PA_PWR_3|XOF_16MHz|RFDR_1M|CM_SHOCK);
00BE ; //#ifdef BPS_1M
00BE ; // nrf2401A_WR(PA_PWR_3|XOF_16MHz|RFDR_1M|CM_SHOCK);//0dbm,16M,1Mbps,ShockBurst
00BE ; // #else
00BE ; // nrf2401A_WR(PA_PWR_3|XOF_16MHz|CM_SHOCK);//0dbm,16M,250Kbps,ShockBurst
00BE ; // #endif
00BE ; // nrf2401A_WR(CH_NO_FREQ|RX_EN); //RxMode,Chan
00BE ;
00BE ; nrf2401A_StandBy();//执行配置
00BE ; }
00BE ;
00BE ; */
00BE ;
00BE ;
00BE ; //接收模式
00BE ; void nrf2401A_RxOn()
00BE ; {
00BE .dbline 213
00BE ; nrf2401A_RwOn();
00BE D6DF rcall _nrf2401A_RwOn
00C0 .dbline 214
00C0 ; nrf2401A_WR(CH_NO_FREQ|RX_EN); //RxMode,Chan
00C0 05E0 ldi R16,5
00C2 9EDF rcall _nrf2401A_WR
00C4 .dbline 215
00C4 ; nrf2401A_Run();
00C4 D7DF rcall _nrf2401A_Run
00C6 .dbline -2
00C6 L20:
00C6 .dbline 0 ; func end
00C6 0895 ret
00C8 .dbend
00C8 .dbfunc e nrf2401A_TxOn _nrf2401A_TxOn fV
.even
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -