📄 nrf905.lis
字号:
00D2 .dbline 213
00D2 ; nrf905_SpiRW(TX_ADDRESS_0);
00D2 02E1 ldi R16,18
00D4 C1DF xcall _nrf905_SpiRW
00D6 .dbline 214
00D6 ; nrf905_SpiRW(TX_ADDRESS_1);
00D6 04E3 ldi R16,52
00D8 BFDF xcall _nrf905_SpiRW
00DA .dbline 215
00DA ; nrf905_SpiRW(TX_ADDRESS_2);
00DA 06E5 ldi R16,86
00DC BDDF xcall _nrf905_SpiRW
00DE .dbline 216
00DE ; nrf905_SpiRW(TX_ADDRESS_3);
00DE 08E7 ldi R16,120
00E0 BBDF xcall _nrf905_SpiRW
00E2 .dbline 217
00E2 ; SET(PORTB,CSN);
00E2 C49A sbi 0x18,4
00E4 .dbline -2
00E4 L17:
00E4 .dbline 0 ; func end
00E4 0895 ret
00E6 .dbend
00E6 .dbfunc e nrf905_SetData _nrf905_SetData fV
00E6 ; i -> R20
.even
00E6 _nrf905_SetData::
00E6 4A93 st -y,R20
00E8 .dbline -1
00E8 .dbline 222
00E8 ; }
00E8 ;
00E8 ; //写Tx数据
00E8 ; void nrf905_SetData()
00E8 ; {uchar i;
00E8 .dbline 224
00E8 ;
00E8 ; CLR(PORTB,CSN);
00E8 C498 cbi 0x18,4
00EA .dbline 225
00EA ; nrf905_SpiRW(WTP); //写TxPayload
00EA 00E2 ldi R16,32
00EC B5DF xcall _nrf905_SpiRW
00EE .dbline 226
00EE ; for (i=0;i<SIZE;i++)
00EE 4427 clr R20
00F0 09C0 xjmp L22
00F2 L19:
00F2 .dbline 227
00F2 ; {
00F2 .dbline 228
00F2 ; nrf905_SpiRW(TxBuf[i]);
00F2 80E0 ldi R24,<_TxBuf
00F4 90E0 ldi R25,>_TxBuf
00F6 E42F mov R30,R20
00F8 FF27 clr R31
00FA E80F add R30,R24
00FC F91F adc R31,R25
00FE 0081 ldd R16,z+0
0100 ABDF xcall _nrf905_SpiRW
0102 .dbline 229
0102 ; }
0102 L20:
0102 .dbline 226
0102 4395 inc R20
0104 L22:
0104 .dbline 226
0104 4032 cpi R20,32
0106 A8F3 brlo L19
0108 X2:
0108 .dbline 231
0108 ;
0108 ; SET(PORTB,CSN);
0108 C49A sbi 0x18,4
010A .dbline -2
010A L18:
010A .dbline 0 ; func end
010A 4991 ld R20,y+
010C 0895 ret
010E .dbsym r i 20 c
010E .dbend
010E .dbfunc e nrf905_WaitSended _nrf905_WaitSended fV
.even
010E _nrf905_WaitSended::
010E .dbline -1
010E .dbline 236
010E ; }
010E ;
010E ; //等待发送结束
010E ; void nrf905_WaitSended()
010E ; {
010E L24:
010E .dbline 237
010E ; while ((PIND&(1<<DR))==0);
010E L25:
010E .dbline 237
010E 849B sbis 0x10,4
0110 FECF rjmp L24
0112 X3:
0112 .dbline -2
0112 L23:
0112 .dbline 0 ; func end
0112 0895 ret
0114 .dbend
0114 .dbfunc e nrf905_SendData _nrf905_SendData fV
.even
0114 _nrf905_SendData::
0114 .dbline -1
0114 .dbline 242
0114 ; }
0114 ;
0114 ; //发送TxBuf中的数据
0114 ; void nrf905_SendData()
0114 ; {
0114 .dbline 243
0114 ; nrf905_TxOn();//切换到发送模式
0114 AFDF xcall _nrf905_TxOn
0116 .dbline 244
0116 ; nrf905_SetTxAddr();//写发送地址
0116 DADF xcall _nrf905_SetTxAddr
0118 .dbline 245
0118 ; nrf905_SetData();//写数据
0118 E6DF xcall _nrf905_SetData
011A .dbline 246
011A ; nrf905_TxSend();//启动发送
011A B0DF xcall _nrf905_TxSend
011C .dbline 247
011C ; nrf905_WaitSended();//等待发送结束
011C F8DF xcall _nrf905_WaitSended
011E .dbline -2
011E L27:
011E .dbline 0 ; func end
011E 0895 ret
0120 .dbend
0120 .dbfunc e nrf905_SendAgain _nrf905_SendAgain fV
.even
0120 _nrf905_SendAgain::
0120 .dbline -1
0120 .dbline 253
0120 ;
0120 ; }
0120 ;
0120 ; //测试直接重新发送上次写入的数据
0120 ; void nrf905_SendAgain()
0120 ; {
0120 .dbline 254
0120 ; nrf905_TxOn();
0120 A9DF xcall _nrf905_TxOn
0122 .dbline 255
0122 ; nrf905_TxSend();
0122 ACDF xcall _nrf905_TxSend
0124 .dbline 256
0124 ; nrf905_WaitSended();
0124 F4DF xcall _nrf905_WaitSended
0126 .dbline -2
0126 L28:
0126 .dbline 0 ; func end
0126 0895 ret
0128 .dbend
0128 .dbfunc e nrf905_ReadData _nrf905_ReadData fV
0128 ; i -> R20
.even
0128 _nrf905_ReadData::
0128 4A93 st -y,R20
012A .dbline -1
012A .dbline 262
012A ;
012A ; }
012A ;
012A ; //读出接收到的数据
012A ; void nrf905_ReadData()
012A ; {
012A .dbline 265
012A ; uchar i;
012A ;
012A ; CLR(PORTB,CSN);
012A C498 cbi 0x18,4
012C .dbline 266
012C ; nrf905_SpiRW(RRP); //读RxPayload
012C 04E2 ldi R16,36
012E 94DF xcall _nrf905_SpiRW
0130 .dbline 267
0130 ; for (i=0;i<SIZE;i++)
0130 4427 clr R20
0132 0AC0 xjmp L33
0134 L30:
0134 .dbline 268
0134 ; {
0134 .dbline 269
0134 ; RxBuf[i]=nrf905_SpiRW(0);//read...
0134 0027 clr R16
0136 90DF xcall _nrf905_SpiRW
0138 80E0 ldi R24,<_RxBuf
013A 90E0 ldi R25,>_RxBuf
013C E42F mov R30,R20
013E FF27 clr R31
0140 E80F add R30,R24
0142 F91F adc R31,R25
0144 0083 std z+0,R16
0146 .dbline 270
0146 ; }
0146 L31:
0146 .dbline 267
0146 4395 inc R20
0148 L33:
0148 .dbline 267
0148 4032 cpi R20,32
014A A0F3 brlo L30
014C X4:
014C .dbline 272
014C ;
014C ; SET(PORTB,CSN);
014C C49A sbi 0x18,4
014E .dbline -2
014E L29:
014E .dbline 0 ; func end
014E 4991 ld R20,y+
0150 0895 ret
0152 .dbsym r i 20 c
0152 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\无线通信\nRF905\ptr8000\nrf905.C
0000 _RxBuf::
0000 .blkb 32
0020 .dbsym e RxBuf _RxBuf A[32:32]c
0020 _TxBuf::
0020 .blkb 32
0040 .dbsym e TxBuf _TxBuf A[32:32]c
0040 ;
0040 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -