📄 nrf905.lis
字号:
00CA ; {
00CA ; Rx_Buf[i]=nrf905_SpiRW(0);//read from nrf905
00CA ; }
00CA ; SET(PORTB,CSN);
00CA C29A sbi 0x18,2
00CC .dbline -2
00CC .dbline 222
00CC ;
00CC ; }
00CC L18:
00CC 00D0 rcall pop_gset1
00CE .dbline 0 ; func end
00CE 0895 ret
00D0 .dbsym r i 20 c
00D0 .dbend
00D0 .dbfunc e nrf905_SetTxAddr _nrf905_SetTxAddr fV
.even
00D0 _nrf905_SetTxAddr::
00D0 .dbline -1
00D0 .dbline 227
00D0 ;
00D0 ;
00D0 ; //写Tx地址
00D0 ; void nrf905_SetTxAddr(void)
00D0 ; {
00D0 .dbline 228
00D0 ; CLR(PORTB,CSN);
00D0 C298 cbi 0x18,2
00D2 .dbline 229
00D2 ; nrf905_SpiRW(WTA); //写Tx地址
00D2 02E2 ldi R16,34
00D4 CBDF rcall _nrf905_SpiRW
00D6 .dbline 230
00D6 ; nrf905_SpiRW(TX_ADDRESS_0);
00D6 01E1 ldi R16,17
00D8 C9DF rcall _nrf905_SpiRW
00DA .dbline 231
00DA ; nrf905_SpiRW(TX_ADDRESS_1);
00DA 01E1 ldi R16,17
00DC C7DF rcall _nrf905_SpiRW
00DE .dbline 232
00DE ; nrf905_SpiRW(TX_ADDRESS_2);
00DE 01E1 ldi R16,17
00E0 C5DF rcall _nrf905_SpiRW
00E2 .dbline 233
00E2 ; nrf905_SpiRW(TX_ADDRESS_3);
00E2 01E1 ldi R16,17
00E4 C3DF rcall _nrf905_SpiRW
00E6 .dbline 234
00E6 ; SET(PORTB,CSN);
00E6 C29A sbi 0x18,2
00E8 .dbline -2
00E8 .dbline 235
00E8 ; }
00E8 L23:
00E8 .dbline 0 ; func end
00E8 0895 ret
00EA .dbend
00EA .dbfunc e nrf905_SetData _nrf905_SetData fV
00EA ; i -> R20
.even
00EA _nrf905_SetData::
00EA 00D0 rcall push_gset1
00EC .dbline -1
00EC .dbline 239
00EC ;
00EC ; //写Tx数据
00EC ; void nrf905_SetData(void)
00EC ; {uchar i;
00EC .dbline 241
00EC ;
00EC ; CLR(PORTB,CSN);
00EC C298 cbi 0x18,2
00EE .dbline 242
00EE ; nrf905_SpiRW(WTP); //写TxPayload
00EE 00E2 ldi R16,32
00F0 BDDF rcall _nrf905_SpiRW
00F2 .dbline 243
00F2 ; for (i=0;i<SIZE;i++)
00F2 4427 clr R20
00F4 09C0 rjmp L28
00F6 L25:
00F6 .dbline 244
00F6 .dbline 245
00F6 80E0 ldi R24,<_Tx_Buf
00F8 90E0 ldi R25,>_Tx_Buf
00FA E42F mov R30,R20
00FC FF27 clr R31
00FE E80F add R30,R24
0100 F91F adc R31,R25
0102 0081 ldd R16,z+0
0104 B3DF rcall _nrf905_SpiRW
0106 .dbline 246
0106 L26:
0106 .dbline 243
0106 4395 inc R20
0108 L28:
0108 .dbline 243
0108 4032 cpi R20,32
010A A8F3 brlo L25
010C .dbline 248
010C ; {
010C ; nrf905_SpiRW(Tx_Buf[i]);
010C ; }
010C ;
010C ; SET(PORTB,CSN);
010C C29A sbi 0x18,2
010E .dbline -2
010E .dbline 250
010E ;
010E ; }
010E L24:
010E 00D0 rcall pop_gset1
0110 .dbline 0 ; func end
0110 0895 ret
0112 .dbsym r i 20 c
0112 .dbend
0112 .dbfunc e nrf905_WaitSended _nrf905_WaitSended fV
.even
0112 _nrf905_WaitSended::
0112 .dbline -1
0112 .dbline 254
0112 ;
0112 ; //等待发送结束
0112 ; void nrf905_WaitSended(void)
0112 ; {
0112 L30:
0112 .dbline 255
0112 L31:
0112 .dbline 255
0112 ; while ((PIND&(1<<DR))==0);
0112 829B sbis 0x10,2
0114 FECF rjmp L30
0116 .dbline -2
0116 .dbline 256
0116 ; }
0116 L29:
0116 .dbline 0 ; func end
0116 0895 ret
0118 .dbend
0118 .dbfunc e nrf905_SendData _nrf905_SendData fV
.even
0118 _nrf905_SendData::
0118 .dbline -1
0118 .dbline 260
0118 ;
0118 ; //发送TxBuf中的数据
0118 ; void nrf905_SendData(void)
0118 ; {
0118 .dbline 261
0118 ; nrf905_TxOn();//切换到发送模式
0118 B7DF rcall _nrf905_TxOn
011A .dbline 262
011A ; delay_10ms(2);
011A 02E0 ldi R16,2
011C 10E0 ldi R17,0
011E 00D0 rcall _delay_10ms
0120 .dbline 263
0120 ; nrf905_SetTxAddr();//写发送地址WTA
0120 D7DF rcall _nrf905_SetTxAddr
0122 .dbline 264
0122 ; nrf905_SetData();//写数据WTP
0122 E3DF rcall _nrf905_SetData
0124 .dbline 265
0124 ; nrf905_TxSend();//启动发送
0124 B5DF rcall _nrf905_TxSend
0126 .dbline 266
0126 ; nrf905_WaitSended();//等待发送结束
0126 .dbline -2
0126 .dbline 268
0126 ;
0126 ; }
0126 L33:
0126 .dbline 0 ; func end
0126 F5CF rjmp _nrf905_WaitSended
0128 .dbend
0128 .dbfunc e nrf905_SendAgain _nrf905_SendAgain fV
.even
0128 _nrf905_SendAgain::
0128 .dbline -1
0128 .dbline 272
0128 ;
0128 ; //测试直接重新发送上次写入的数据
0128 ; void nrf905_SendAgain(void)
0128 ; {
0128 .dbline 273
0128 ; nrf905_TxOn();
0128 AFDF rcall _nrf905_TxOn
012A .dbline 274
012A ; nrf905_TxSend();
012A B2DF rcall _nrf905_TxSend
012C .dbline 275
012C ; nrf905_WaitSended();
012C .dbline -2
012C .dbline 277
012C ;
012C ; }
012C L34:
012C .dbline 0 ; func end
012C F2CF rjmp _nrf905_WaitSended
012E .dbend
012E .dbfunc e RfSendProc _RfSendProc fV
.even
012E _RfSendProc::
012E .dbline -1
012E .dbline 283
012E ;
012E ;
012E ;
012E ; //发送测试
012E ; void RfSendProc(void)
012E ; {
012E .dbline 285
012E ; // puts_hh("Into send process code");
012E ; nrf905_SendData();//发送测试数据
012E F4DF rcall _nrf905_SendData
0130 .dbline 286
0130 ; nrf905_Off();//断开电源
0130 .dbline -2
0130 .dbline 288
0130 ; // puts_hh(Tx_Buf);//向串口打印数据
0130 ; }
0130 L35:
0130 .dbline 0 ; func end
0130 A9CF rjmp _nrf905_Off
0132 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\公司用\atmega8l\final\nrf905_send1\nrf905.c
0000 _Rx_Buf::
0000 .blkb 32
0020 .dbsym e Rx_Buf _Rx_Buf A[32:32]c
0020 _Tx_Buf::
0020 .blkb 32
0040 .dbsym e Tx_Buf _Tx_Buf A[32:32]c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -