با سلام به همه دوستان
توی گشتو گذار توی نت هیچ منبعی رو پیدا نکردم که بتونن این ماژول رو با زبان بسکام راه اندازیش کنن
پس از دوستانی که تجربه کار با ماژول +nRF24L01 رو دارن در خواست میکنم تا به کمک هم بیایم 
یه نمونه برنامه که خودم شخصا تستش نکردم
چون ماژولش رو فعلا ندارم
گیرنده:
کد:
$regfile = "m8def.dat"
$crystal = 8000000
Declare Sub R_register(byval Command As Byte , Byval C_bytes As Byte)
Declare Sub W_register(byval C_bytes As Byte)
'SPI (nRF24L01)
Const Write_reg = &H20
Const Rd_rx_pload = &H61
'SPI (nRF24L01)
Const Config_nrf = &H00
Const En_aa = &H01
Const En_rxaddr = &H02
Const Rf_ch = &H05
Const Rf_setup = &H06
Const Status = &H07
Const Rx_addr_p0 = &H0A
Const Rx_pw_p0 = &H11
Const Fifo_status = &H17
Dim D_bytes(6) As Byte , B_bytes(5) As Byte
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1
Config Portb.1 = Output : Ce Alias Portb.1 'CE pin is output
Config Portb.2 = Output : Ss Alias Portb.2 'SS pin is output
Config Pinb.0 = Input : Irq Alias Pinb.0 'IRQ pin is input
Spiinit
Set Ce
Waitms 10
Reset Ce
Reset Ss
Print "RX_device"
Call R_register(status , 1)
Reset Ce
Gosub Setup_rx
Waitms 2
Set Ce
Do
If Irq = 0 Then
Reset Ce
Call R_register(rd_rx_pload , 5)
Print "Pload : " ; Hex(b_bytes(1)) ; Hex(b_bytes(2)) ; Hex(b_bytes(3)) ; Hex(b_bytes(4)) ; Hex(b_bytes(5))
D_bytes(1) = Write_reg + Status
D_bytes(2) = &B01000000
Call W_register(2)
Set Ce
Waitms 2
End If
Loop
Sub W_register(byval C_bytes As Byte)
Reset Ss
Spiout D_bytes(1) , C_bytes
Set Ss
End Sub
Sub R_register(byval Command As Byte , Byval C_bytes As Byte) As Byte
Reset Ss
Spiout Command , 1
Spiin B_bytes(1) , C_bytes
Set Ss
End Sub
Setup_rx:
D_bytes(1) = Write_reg + Rx_addr_p0
D_bytes(2) = &H34
D_bytes(3) = &H43
D_bytes(4) = &H10
D_bytes(5) = &H10
D_bytes(6) = &H01
Call W_register(6)
D_bytes(1) = Write_reg + En_aa
D_bytes(2) = &H01
Call W_register(2)
D_bytes(1) = Write_reg + En_rxaddr
D_bytes(2) = &H01
Call W_register(2)
D_bytes(1) = Write_reg + Rf_ch
D_bytes(2) = 40
Call W_register(2)
D_bytes(1) = Write_reg + Rx_pw_p0
D_bytes(2) = 5
Call W_register(2)
D_bytes(1) = Write_reg + Rf_setup
D_bytes(2) = &H0F
Call W_register(2)
D_bytes(1) = Write_reg + Config_nrf
D_bytes(2) = &H0F
Call W_register(2)
Return
فرستنده:
کد:
$regfile = "m8def.dat"
$crystal = 8000000
Declare Sub W_register(byval C_bytes As Byte)
'SPI (nRF24L01)
Const Write_reg = &H20
Const Wr_tx_pload = &HA0
Const Flush_tx = &HE1
'SPI (nRF24L01) ًهمèًٌٍû (àنًهٌà)
Const Config_nrf = &H00
Const En_aa = &H01
Const En_rxaddr = &H02
Const Rf_ch = &H05
Const Rf_setup = &H06
Const Status = &H07
Const Rx_addr_p0 = &H0A
Const Tx_addr = &H10
Dim D_bytes(6) As Byte , W As Byte
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1
Config Portb.1 = Output : Ce Alias Portb.1 'CE pin is output
Config Portb.2 = Output : Ss Alias Portb.2 'SS pin is output
Config Pinb.0 = Input : Irq Alias Pinb.0 'IRQ pin is input
Config Portd.4 = Output : Red_led Alias Portd.4
Spiinit
Do
Incr W
If W = 250 Then
W = 0
End If
Set Ce
Waitms 10
Reset Ce
Reset Ss
Red_led = 1
D_bytes(1) = Flush_tx
Call W_register(1)
D_bytes(1) = Write_reg + Status
D_bytes(2) = &B00110000
Call W_register(2)
Gosub Setup_tx
D_bytes(1) = Wr_tx_pload
D_bytes(2) = &HAA
D_bytes(3) = &HBB
D_bytes(4) = &HCC
D_bytes(5) = &H11
D_bytes(6) = W
Call W_register(6)
Waitms 2
Set Ce
Waitms 1
Reset Ce
Red_led = 0
Wait 1
Loop
Sub W_register(byval C_bytes As Byte)
Reset Ss
Spiout D_bytes(1) , C_bytes
Set Ss
End Sub
Setup_tx:
D_bytes(1) = Write_reg + Tx_addr
D_bytes(2) = &H34
D_bytes(3) = &H43
D_bytes(4) = &H10
D_bytes(5) = &H10
D_bytes(6) = &H01
Call W_register(6)
D_bytes(1) = Write_reg + Rx_addr_p0
D_bytes(2) = &H34
D_bytes(3) = &H43
D_bytes(4) = &H10
D_bytes(5) = &H10
D_bytes(6) = &H01
Call W_register(6)
D_bytes(1) = Write_reg + En_aa
D_bytes(2) = &H01
Call W_register(2)
D_bytes(1) = Write_reg + En_rxaddr
D_bytes(2) = &H01
Call W_register(2)
D_bytes(1) = Write_reg + Rf_ch
D_bytes(2) = 40
Call W_register(2)
D_bytes(1) = Write_reg + Rf_setup
D_bytes(2) = &H0F
Call W_register(2)
D_bytes(1) = Write_reg + Config_nrf
D_bytes(2) = &H0E
Call W_register(2)
Return
مهمان عزیز شما حق دیدن لینک ها را ندارید
عضویت