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