📄 2.4g+̤
字号:
022E 21E0 ldi R18,1
0230 02E2 ldi R16,34
0232 A2DF rcall _SPI_RW_Reg
0234 .dbline 381
0234 ; SPI_RW_Reg(WRITE_REG + RF_CH, 40); // Select RF channel 40
0234 28E2 ldi R18,40
0236 05E2 ldi R16,37
0238 9FDF rcall _SPI_RW_Reg
023A .dbline 382
023A ; SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH); // Select same RX payload width as TX Payload width
023A 24E1 ldi R18,20
023C 01E3 ldi R16,49
023E 9CDF rcall _SPI_RW_Reg
0240 .dbline 383
0240 ; SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); // TX_PWR:0dBm, Datarate:2Mbps, LNA:HCURR
0240 27E0 ldi R18,7
0242 06E2 ldi R16,38
0244 99DF rcall _SPI_RW_Reg
0246 .dbline 384
0246 ; SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f); // Set PWR_UP bit, enable CRC(2 bytes) & Prim:RX. RX_DR enabled..
0246 2FE0 ldi R18,15
0248 00E2 ldi R16,32
024A 96DF rcall _SPI_RW_Reg
024C .dbline 385
024C ; nRF24L01_CEH;
024C 5D9A sbi 0xb,5
024E .dbline 386
024E ; delay();
024E 64DF rcall _delay
0250 .dbline -2
0250 L54:
0250 2196 adiw R28,1
0252 .dbline 0 ; func end
0252 0895 ret
0254 .dbend
0254 .dbfunc e TX_Mode _TX_Mode fV
.even
0254 _TX_Mode::
0254 2197 sbiw R28,1
0256 .dbline -1
0256 .dbline 406
0256 ; // This device is now ready to receive one packet of 16 bytes payload from a TX device sending to address
0256 ; // '3443101001', with auto acknowledgment, retransmit count of 10, RF channel 40 and datarate = 2Mbps.
0256 ;
0256 ; }
0256 ; /**************************************************/
0256 ;
0256 ; /**************************************************
0256 ; Function: TX_Mode();
0256 ;
0256 ; Description:
0256 ; This function initializes one nRF24L01 device to
0256 ; TX mode, set TX address, set RX address for auto.ack,
0256 ; fill TX payload, select RF channel, datarate & TX pwr.
0256 ; PWR_UP is set, CRC(2 bytes) is enabled, & PRIM:TX.
0256 ;
0256 ; ToDo: One high pulse(>10us) on CE will now send this
0256 ; packet and expext an acknowledgment from the RX device. */
0256 ; /**************************************************/
0256 ; void TX_Mode(void)
0256 ; {
0256 .dbline 407
0256 ; nRF24L01_CEL;
0256 5D98 cbi 0xb,5
0258 .dbline 408
0258 ; delay();
0258 5FDF rcall _delay
025A .dbline 409
025A ; SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // Writes TX_Address to nRF24L01
025A 85E0 ldi R24,5
025C 8883 std y+0,R24
025E 20E0 ldi R18,<_TX_ADDRESS
0260 30E0 ldi R19,>_TX_ADDRESS
0262 00E3 ldi R16,48
0264 C0DF rcall _SPI_Write_Buf
0266 .dbline 410
0266 ; SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // RX_Addr0 same as TX_Adr for Auto.Ack
0266 85E0 ldi R24,5
0268 8883 std y+0,R24
026A 20E0 ldi R18,<_TX_ADDRESS
026C 30E0 ldi R19,>_TX_ADDRESS
026E 0AE2 ldi R16,42
0270 BADF rcall _SPI_Write_Buf
0272 .dbline 411
0272 ; SPI_Write_Buf(WR_TX_PLOAD, Buffer, TX_PLOAD_WIDTH); // Writes data to TX payload
0272 84E1 ldi R24,20
0274 8883 std y+0,R24
0276 20E0 ldi R18,<_Buffer
0278 30E0 ldi R19,>_Buffer
027A 00EA ldi R16,160
027C B4DF rcall _SPI_Write_Buf
027E .dbline 413
027E ;
027E ; SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); // Enable Auto.Ack:Pipe0
027E 21E0 ldi R18,1
0280 01E2 ldi R16,33
0282 7ADF rcall _SPI_RW_Reg
0284 .dbline 414
0284 ; SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // Enable Pipe0
0284 21E0 ldi R18,1
0286 02E2 ldi R16,34
0288 77DF rcall _SPI_RW_Reg
028A .dbline 415
028A ; SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x1a); // 500us + 86us, 10 retrans...
028A 2AE1 ldi R18,26
028C 04E2 ldi R16,36
028E 74DF rcall _SPI_RW_Reg
0290 .dbline 416
0290 ; SPI_RW_Reg(WRITE_REG + RF_CH, 40); // Select RF channel 40
0290 28E2 ldi R18,40
0292 05E2 ldi R16,37
0294 71DF rcall _SPI_RW_Reg
0296 .dbline 417
0296 ; SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); // TX_PWR:0dBm, Datarate:2Mbps, LNA:HCURR
0296 27E0 ldi R18,7
0298 06E2 ldi R16,38
029A 6EDF rcall _SPI_RW_Reg
029C .dbline 418
029C ; SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e); // Set PWR_UP bit, enable CRC(2 bytes) & Prim:TX. MAX_RT & TX_DS enabled..
029C 2EE0 ldi R18,14
029E 00E2 ldi R16,32
02A0 6BDF rcall _SPI_RW_Reg
02A2 .dbline 419
02A2 ; nRF24L01_CEH;
02A2 5D9A sbi 0xb,5
02A4 .dbline 420
02A4 ; delay();
02A4 39DF rcall _delay
02A6 .dbline -2
02A6 L55:
02A6 2196 adiw R28,1
02A8 .dbline 0 ; func end
02A8 0895 ret
02AA .dbend
02AA .dbfunc e timer0_init _timer0_init fV
.even
02AA _timer0_init::
02AA .dbline -1
02AA .dbline 425
02AA ;
02AA ; }
02AA ; //------------------------------------------------------
02AA ; void timer0_init(void)
02AA ; {
02AA .dbline 426
02AA ; TCCR0B = 0x00; //stop
02AA 2224 clr R2
02AC 25BC out 0x25,R2
02AE .dbline 427
02AE ; TCNT0 = 0x06; //set count
02AE 86E0 ldi R24,6
02B0 86BD out 0x26,R24
02B2 .dbline 428
02B2 ; TCCR0A = 0x00;
02B2 24BC out 0x24,R2
02B4 .dbline 429
02B4 ; TCCR0B = 0x02; //start timer
02B4 82E0 ldi R24,2
02B6 85BD out 0x25,R24
02B8 .dbline -2
02B8 L56:
02B8 .dbline 0 ; func end
02B8 0895 ret
02BA .dbend
.area vector(rom, abs)
.org 32
0020 5DC1 rjmp _timer0_ovf_isr
.area text(rom, con, rel)
02BA .dbfile E:\项目\PS2无~1\progamme\acceptavrnrf24l01\acceptavrnrf24l01\main.c
02BA .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
.even
02BA _timer0_ovf_isr::
02BA 2A92 st -y,R2
02BC 8A93 st -y,R24
02BE 2FB6 in R2,0x3f
02C0 2A92 st -y,R2
02C2 .dbline -1
02C2 .dbline 433
02C2 .dbline 435
02C2 86E0 ldi R24,6
02C4 86BD out 0x26,R24
02C6 .dbline 437
02C6 80911300 lds R24,_t20ms
02CA 8150 subi R24,1
02CC 282E mov R2,R24
02CE 20921300 sts _t20ms,R2
02D2 8823 tst R24
02D4 49F4 brne L58
02D6 .dbline 438
02D6 .dbline 439
02D6 .dbline 439
02D6 80911200 lds R24,_flag
02DA 8160 ori R24,1
02DC 80931200 sts _flag,R24
02E0 .dbline 439
02E0 .dbline 439
02E0 .dbline 440
02E0 80E5 ldi R24,80
02E2 80931300 sts _t20ms,R24
02E6 .dbline 442
02E6 0000 nop
02E8 .dbline 449
02E8 L58:
02E8 .dbline -2
02E8 L57:
02E8 2990 ld R2,y+
02EA 2FBE out 0x3f,R2
02EC 8991 ld R24,y+
02EE 2990 ld R2,y+
02F0 .dbline 0 ; func end
02F0 1895 reti
02F2 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\项目\PS2无~1\progamme\acceptavrnrf24l01\acceptavrnrf24l01\main.c
0000 _key6_time::
0000 .blkb 1
0001 .dbsym e key6_time _key6_time c
0001 _key5_time::
0001 .blkb 1
0002 .dbsym e key5_time _key5_time c
0002 _key4_time::
0002 .blkb 1
0003 .dbsym e key4_time _key4_time c
0003 _key3_time::
0003 .blkb 1
0004 .dbsym e key3_time _key3_time c
0004 _key2_time::
0004 .blkb 1
0005 .dbsym e key2_time _key2_time c
0005 _key1_time::
0005 .blkb 1
0006 .dbsym e key1_time _key1_time c
0006 _key6_flag::
0006 .blkb 1
0007 .dbsym e key6_flag _key6_flag c
0007 _key5_flag::
0007 .blkb 1
0008 .dbsym e key5_flag _key5_flag c
0008 _key4_flag::
0008 .blkb 1
0009 .dbsym e key4_flag _key4_flag c
0009 _key3_flag::
0009 .blkb 1
000A .dbsym e key3_flag _key3_flag c
000A _key2_flag::
000A .blkb 1
000B .dbsym e key2_flag _key2_flag c
000B _key1_flag::
000B .blkb 1
000C .dbsym e key1_flag _key1_flag c
000C _key6_pulse::
000C .blkb 1
000D .dbsym e key6_pulse _key6_pulse c
000D _key5_pulse::
000D .blkb 1
000E .dbsym e key5_pulse _key5_pulse c
000E _key4_pulse::
000E .blkb 1
000F .dbsym e key4_pulse _key4_pulse c
000F _key3_pulse::
000F .blkb 1
0010 .dbsym e key3_pulse _key3_pulse c
0010 _key2_pulse::
0010 .blkb 1
0011 .dbsym e key2_pulse _key2_pulse c
0011 _key1_pulse::
0011 .blkb 1
0012 .dbsym e key1_pulse _key1_pulse c
0012 _flag::
0012 .blkb 1
0013 .dbsym e flag _flag c
0013 _t20ms::
0013 .blkb 1
0014 .dbsym e t20ms _t20ms c
0014 _key_debug::
0014 .blkb 1
0015 .dbsym e key_debug _key_debug c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -