📄 nrf905_jinju.lis
字号:
02C8 .dbline 431
02C8 ; for ( i=0; i<len; i++ ) {
02C8 4427 clr R20
02CA 13C0 rjmp L111
02CC L108:
02CC .dbline 431
02CC .dbline 432
02CC ; if ( tx_addr[i] != spi_rxbuf[i] ) return 1;
02CC 80E0 ldi R24,<_spi_rxbuf
02CE 90E0 ldi R25,>_spi_rxbuf
02D0 E42F mov R30,R20
02D2 FF27 clr R31
02D4 E80F add R30,R24
02D6 F91F adc R31,R25
02D8 2080 ldd R2,z+0
02DA 80E0 ldi R24,<_tx_addr
02DC 90E0 ldi R25,>_tx_addr
02DE E42F mov R30,R20
02E0 FF27 clr R31
02E2 E80F add R30,R24
02E4 F91F adc R31,R25
02E6 3080 ldd R3,z+0
02E8 3214 cp R3,R2
02EA 11F0 breq L112
02EC X27:
02EC .dbline 432
02EC 01E0 ldi R16,1
02EE 20C0 rjmp L93
02F0 L112:
02F0 .dbline 433
02F0 ; }
02F0 L109:
02F0 .dbline 431
02F0 4395 inc R20
02F2 L111:
02F2 .dbline 431
02F2 4617 cp R20,R22
02F4 58F3 brlo L108
02F6 X28:
02F6 .dbline 435
02F6 ;
02F6 ; break;
02F6 1AC0 rjmp L95
02F8 L114:
02F8 .dbline 437
02F8 ; case R_TX_PAYLOAD:
02F8 ; len = Register[4] & 0x3F;
02F8 60918500 lds R22,_Register+4
02FC 6F73 andi R22,63
02FE .dbline 438
02FE ; for ( i=0; i<len; i++ ) {
02FE 4427 clr R20
0300 13C0 rjmp L119
0302 L116:
0302 .dbline 438
0302 .dbline 439
0302 ; if ( tx_buf[i] != spi_rxbuf[i] ) return 1;
0302 80E0 ldi R24,<_spi_rxbuf
0304 90E0 ldi R25,>_spi_rxbuf
0306 E42F mov R30,R20
0308 FF27 clr R31
030A E80F add R30,R24
030C F91F adc R31,R25
030E 2080 ldd R2,z+0
0310 80E0 ldi R24,<_tx_buf
0312 90E0 ldi R25,>_tx_buf
0314 E42F mov R30,R20
0316 FF27 clr R31
0318 E80F add R30,R24
031A F91F adc R31,R25
031C 3080 ldd R3,z+0
031E 3214 cp R3,R2
0320 11F0 breq L120
0322 X29:
0322 .dbline 439
0322 01E0 ldi R16,1
0324 05C0 rjmp L93
0326 L120:
0326 .dbline 440
0326 ; }
0326 L117:
0326 .dbline 438
0326 4395 inc R20
0328 L119:
0328 .dbline 438
0328 4617 cp R20,R22
032A 58F3 brlo L116
032C X30:
032C .dbline 442
032C ;
032C ; break;
032C L94:
032C L95:
032C .dbline 445
032C ; }
032C ;
032C ; nrF905_RX_Mode();
032C 7FDF rcall _nrF905_RX_Mode
032E .dbline 446
032E ; return 0;
032E 0027 clr R16
0330 .dbline -2
0330 L93:
0330 .dbline 0 ; func end
0330 00C0 rjmp pop_xgsetF00C
0332 .dbsym r len 22 c
0332 .dbsym r i 20 c
0332 .dbsym r cmd 10 c
0332 .dbend
0332 .dbfunc e SPI_R_CONFIG _SPI_R_CONFIG fc
0332 ; i -> R20
.even
0332 _SPI_R_CONFIG::
0332 4A93 st -y,R20
0334 .dbline -1
0334 .dbline 451
0334 ; }
0334 ;
0334 ; /////////////////////////////////////////////////////////////
0334 ; BYTE SPI_R_CONFIG()
0334 ; {
0334 .dbline 454
0334 ; BYTE i;
0334 ;
0334 ; spi_rxpt = 0;
0334 2224 clr R2
0336 20920900 sts _spi_rxpt,R2
033A .dbline 455
033A ; spi_handlept = 0;
033A 20920800 sts _spi_handlept,R2
033E .dbline 456
033E ; nrF905_Standby_Mode();
033E 6FDF rcall _nrF905_Standby_Mode
0340 .dbline 457
0340 ; CSN_L;
0340 C298 cbi 0x18,2
0342 .dbline 458
0342 ; SPI_Char(0,R_CONFIG);
0342 20E1 ldi R18,16
0344 0027 clr R16
0346 54DF rcall _SPI_Char
0348 .dbline 459
0348 ; for ( i=0; i<10; i++ ) SPI_Char(1,0xff);
0348 4427 clr R20
034A 04C0 rjmp L127
034C L124:
034C .dbline 459
034C 2FEF ldi R18,255
034E 01E0 ldi R16,1
0350 4FDF rcall _SPI_Char
0352 L125:
0352 .dbline 459
0352 4395 inc R20
0354 L127:
0354 .dbline 459
0354 4A30 cpi R20,10
0356 D0F3 brlo L124
0358 X33:
0358 .dbline 461
0358 ;
0358 ; CSN_H;
0358 C29A sbi 0x18,2
035A .dbline 462
035A ; return spi_handle(R_CONFIG);
035A 00E1 ldi R16,16
035C 6EDF rcall _spi_handle
035E .dbline -2
035E L123:
035E .dbline 0 ; func end
035E 4991 ld R20,y+
0360 0895 ret
0362 .dbsym r i 20 c
0362 .dbend
0362 .dbfunc e SPI_W_CONFIG _SPI_W_CONFIG fV
0362 ; i -> R20
.even
0362 _SPI_W_CONFIG::
0362 4A93 st -y,R20
0364 .dbline -1
0364 .dbline 467
0364 ; }
0364 ;
0364 ; /////////////////////////////////////////////////////////////
0364 ; void SPI_W_CONFIG()
0364 ; {
0364 .dbline 470
0364 ; BYTE i;
0364 ;
0364 ; nrF905_Standby_Mode();
0364 5CDF rcall _nrF905_Standby_Mode
0366 .dbline 471
0366 ; ms(10);
0366 0AE0 ldi R16,10
0368 10E0 ldi R17,0
036A B1DE rcall _ms
036C 17C0 rjmp L130
036E L129:
036E .dbline 472
036E ; while(1) {
036E .dbline 473
036E ; CSN_L;
036E C298 cbi 0x18,2
0370 .dbline 474
0370 ; SPI_Char(0,W_CONFIG);
0370 2227 clr R18
0372 0027 clr R16
0374 3DDF rcall _SPI_Char
0376 .dbline 475
0376 ; for ( i=0; i<10; i++ ) {
0376 4427 clr R20
0378 0AC0 rjmp L135
037A L132:
037A .dbline 475
037A .dbline 476
037A ; SPI_Char(0,Register[i]);
037A 80E0 ldi R24,<_Register
037C 90E0 ldi R25,>_Register
037E E42F mov R30,R20
0380 FF27 clr R31
0382 E80F add R30,R24
0384 F91F adc R31,R25
0386 2081 ldd R18,z+0
0388 0027 clr R16
038A 32DF rcall _SPI_Char
038C .dbline 477
038C ; }
038C L133:
038C .dbline 475
038C 4395 inc R20
038E L135:
038E .dbline 475
038E 4A30 cpi R20,10
0390 A0F3 brlo L132
0392 X34:
0392 .dbline 479
0392 ;
0392 ; CSN_H;
0392 C29A sbi 0x18,2
0394 .dbline 481
0394 ;
0394 ; if ( !SPI_R_CONFIG() ) break;
0394 CEDF rcall _SPI_R_CONFIG
0396 0023 tst R16
0398 09F4 brne L136
039A X35:
039A .dbline 481
039A 01C0 rjmp L131
039C L136:
039C .dbline 482
039C ; }
039C L130:
039C .dbline 472
039C E8CF rjmp L129
039E L131:
039E .dbline 484
039E ;
039E ; nrF905_RX_Mode();
039E 46DF rcall _nrF905_RX_Mode
03A0 .dbline -2
03A0 L128:
03A0 .dbline 0 ; func end
03A0 4991 ld R20,y+
03A2 0895 ret
03A4 .dbsym r i 20 c
03A4 .dbend
03A4 .dbfunc e SPI_R_TX_PAYLOAD _SPI_R_TX_PAYLOAD fc
03A4 ; len -> R20
03A4 ; i -> R10
.even
03A4 _SPI_R_TX_PAYLOAD::
03A4 AA92 st -y,R10
03A6 4A93 st -y,R20
03A8 .dbline -1
03A8 .dbline 489
03A8 ; }
03A8 ;
03A8 ; /////////////////////////////////////////////////////////////
03A8 ; BYTE SPI_R_TX_PAYLOAD()
03A8 ; {
03A8 .dbline 492
03A8 ; BYTE i,len;
03A8 ;
03A8 ; spi_rxpt = 0;
03A8 2224 clr R2
03AA 20920900 sts _spi_rxpt,R2
03AE .dbline 493
03AE ; spi_handlept = 0;
03AE 20920800 sts _spi_handlept,R2
03B2 .dbline 494
03B2 ; nrF905_Standby_Mode();
03B2 35DF rcall _nrF905_Standby_Mode
03B4 .dbline 495
03B4 ; CSN_L;
03B4 C298 cbi 0x18,2
03B6 .dbline 496
03B6 ; SPI_Char(0,R_TX_PAYLOAD);
03B6 21E2 ldi R18,33
03B8 0027 clr R16
03BA 1ADF rcall _SPI_Char
03BC .dbline 497
03BC ; len = Register[4] & 0x3F;
03BC 40918500 lds R20,_Register+4
03C0 4F73 andi R20,63
03C2 .dbline 498
03C2 ; for ( i=0; i<len; i++ ) SPI_Char(1,0xff);
03C2 AA24 clr R10
03C4 04C0 rjmp L143
03C6 L140:
03C6 .dbline 498
03C6 2FEF ldi R18,255
03C8 01E0 ldi R16,1
03CA 12DF rcall _SPI_Char
03CC L141:
03CC .dbline 498
03CC A394 inc R10
03CE L143:
03CE .dbline 498
03CE A41
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -