PIC İLE BU MODÜLÜ YAKLAŞIK 800M MESAFE HABERLEŞTİREBİLİRMİYİZ. YAPABİLİRSEK NASIL BİR YOL İZLEMEM GEREKİYOR
Estf. özürlük bir durum değil, zaten siz yazmadan önce mesajı düzenleyip o yazım uslubu tavsiye kısmını fazla katı bulup kaldırmıştım, sıkıntı yok.kusura bakmayın ben bunu düşünerek büyük harfle yazmadım sadece okunuş bakımından daha rahat olması açısından böyle yazdım zaten yinede özür dilerim böyle birşeye sebep olduğum için
Bunun için önerebiliceginiz sağlam bir alıcı verici varmıdır pıc ile uyumlu çalışanYapılır fakat şu hususlara dikkat etmek gerekir
-Besleme önemli, modül veri yollarken akımın göçmemesi gerekir. Mesdela beslemeyi arduino 5v pininden almak performansı düşürür, harici adaptör kullanmak arttırır.
-Bu modüllerin yanında verilen ucuz antenlerin performansı berbat, hiç takmasan da pek farketmiyor, uzun mesafe hedefleniyorsa daha kaliteli anten kullanılmalı
-800 metre açık alanda cihazlar birbirini görüyorsa haberleşme mümkün olur fakat arada binalar vs varsa çok zor.
'****************************************************************
'* Name : NRF ALICI.BAS1 *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2019 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 01.03.2019 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
@ __CONFIG 0x30E4
include "modedefs.bas"
DEFINE OSC 8
ON INTERRUPT GoTo KESME
asm
AYAR:
;BANK 1
BCF STATUS ,RP1
BSF STATUS ,RP0
MOVLW B'00000000' ;PORTA 0-7 ÇIKIŞ
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISC
MOVLW B'00110000' ;PORTB 4-5 GİRİŞ
MOVWF TRISB
MOVLW B'01000000'
MOVWF SSPSTAT
MOVLW B'10000111'
MOVWF OPTION_REG
MOVLW B'01110000'
MOVWF OSCCON
MOVLW B'00000000'
MOVWF ADCON1
MOVLW B'00100000' ; KESMELER AÇIK
MOVWF INTCON
MOVLW B'00000000' ;ADIE-SSPIE AÇIK
MOVWF PIE1
CLRF WPUA
;BANK 0
BCF STATUS ,RP1
BCF STATUS ,RP0
MOVLW B'00100000' ; fosc/16
MOVWF SSPCON
MOVLW B'00000000' ;ADC Kapalı
MOVWF ADCON0
MOVLW 0X00
MOVWF PORTA
MOVWF PORTB
MOVWF PORTC
BCF _CE
BSF _CSN
;BANK 2
BSF STATUS ,RP1
MOVLW 0X00 ; adc yok
MOVWF ANSEL
MOVWF ANSELH
BCF CM1CON0 ,C1ON
BCF CM2CON0 ,C2ON
CLRF WPUB
;BANK 0
BCF STATUS ,RP1
BCF STATUS ,RP0
MOVLW .90 ;41 DEC
MOVWF _TMP2
MOVLW .140 ;5 DEC
MOVWF _TMP1
MOVLW .4 ;161 DEC
MOVWF _TMP0
DECFSZ _TMP0,F
GOTO $-1
DECFSZ _TMP1,F
GOTO $-5
DECFSZ _TMP2,F
GOTO $-9
endasm
TMR0=100
A1 VAR byte $21
A2 VAR BYTE $22
B1 VAR BYTE $23
B2 VAR BYTE $24
C1 VAR BYTE $25
C2 VAR BYTE $26
D1 VAR BYTE $27
D2 VAR BYTE $30
E1 VAR BYTE $32
E2 VAR BYTE $34
F1 VAR BYTE $36
F2 VAR BYTE $38
TMP0 VAR BYTE
TMP1 VAR BYTE
TMP2 VAR BYTE
;ZAMAN VAR BYTE
KAM VAR WORD
BAM VAR WORD
KANAT VAR WORD
KUYRUK VAR WORD
MOTOR VAR WORD
DUMEN VAR WORD
SYMBOL CSN = PORTB.7
SYMBOL CE = PORTC.4
SYMBOL IRQ = PORTB.5
;SURE VAR WORD
'CE = 0
'CSN = 0
A2 = 100
B2 = 100
C2 = 100
D2 = 100
E2 = 100
F2 = 100
;DISABLE
NRF:
; DISABLE
CSN = 0
PAUSEUS 6
CE = 0
SSPBUF =$88
CALL GONDER
CE = 0
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $20 'CONFIG 0011 1101
CALL GONDER 'power off,prx
SSPBUF = $3D
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $21 ' EN_AA
CALL GONDER ' 0000 0011
SSPBUF = $03
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $22 ' EN_RXADDR: 0000 0011
CALL GONDER
SSPBUF = $03
CALL GONDER
PAUSEUS 6
' CSN = 1
' PAUSEUS 6
' CSN = 0
' PAUSEUS 6
' SSPBUF = $50
' CALL GONDER
' SSPBUF = $73
' CALL GONDER
' PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $23 'SETUP_AW 0000 0011 5 BYTE ADRES
CALL GONDER
SSPBUF = $03
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $24 'SETUP_RETR OTOTEKRAR GÖNDERME İPTAL
CALL GONDER
SSPBUF = $00
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $25 'RF_CH 2400 + $35 MHZ
CALL GONDER
SSPBUF = $35
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $26 'RF_SETUP = 0db,1mbps,LNA default değerler
CALL GONDER
SSPBUF = $06
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $27 'STATUS KESME BAYRAKLARI RESET
CALL GONDER
SSPBUF = $70
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 10
CSN = 0
PAUSEUS 6
SSPBUF = $2A ' RX_ADDR_P0 5 BYTE ADRESİ
CALL GONDER ' ACK AKTİF İSE TX ADRESİ İLE AYNI OLMALI
SSPBUF = $53 ' RX CİHAZ ACK VERİSİNİ BU KANAL ARACILIĞI
CALL GONDER ' GÖNDERİRİ
SSPBUF = $53
CALL GONDER
SSPBUF = $53
CALL GONDER
SSPBUF = $53
CALL GONDER
SSPBUF = $54
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $30 'TX_ADDR 5 BYTE ADRESİ
CALL GONDER
SSPBUF = $53
CALL GONDER
SSPBUF = $53
CALL GONDER
SSPBUF = $53
CALL GONDER
SSPBUF = $53
CALL GONDER
SSPBUF = $54
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $31 'GÖNDERİLECEK BYTE UZUNLUĞU
CALL GONDER
SSPBUF = $06
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $E1 'RX FIFO SİLME
CALL GONDER
PAUSEUS 6
CSN = 1
PAUSEUS 6
CSN = 0
PAUSEUS 6
SSPBUF = $E2 'TX FİFO SİLME
CALL GONDER
PAUSEUS 6
CSN = 1
pauseus 6
CSN = 0
PAUSEUS 6
SSPBUF = $20 'CONFIG 01011110
CALL GONDER
SSPBUF = $3F ' TX_DS = IRQ ,POWER UP,2 BYTE CRC
CALL GONDER ' POWER UP,2 BYTE CRC,rX MOD
PAUSEUS 6
CSN = 1
CE = 1
PAUSE 20
; ENABLE
GOTO BASLA
BASLA:
;IF IRQ = 1 THEN GOTO REUSE
CSN = 1
PAUSEUS 6
CSN = 0
CE = 0
PAUSEUS 2
SSPBUF = $61 ; SAHTE SİNYAL MOSİ YE GÖNDERİLİYOR MİSO DAN AYNI ANDA
CALL GONDER
SSPBUF = $88 ; GELEN VERİLER DEĞİŞKENLERE AKTARILIYOR
CALL GONDER
A1 = SSPBUF
ASM
KESME:
ALL:
[B]DISABLE[/B]
;""""SPI""""""" ;BSF STATUS ,RP0
; BCF STATUS ,RP0 ;BTFSS SSPSTAT ,BF
BTFSS PIR1 ,SSPIF
GOTO $-1
BCF PIR1 ,SSPIF
; MOVF SSPBUF ,W ; CLRF SSPBUF
; BSF _CSN
RETURN
; RETFIE
ENDASM
'ENABLE
;return
end
bu kod 16f690 ile yapılan rc kumanda içindir başlave kesme bloğunun tümünü koymadım sadece örnek olsun diye bir kanalın verisinin okunması var orada diğer kanallar da aynısının tekrarı kod asm basic karması nrf de önemli olan nrf ayarlarının düzgün yapılması ve spi haberleşme protokolunu iyi anlamak.koddaki nrf ayarları çalışşan ayarlardır verici kısmında tek değişiklik nrf nin verici olarak ayarlanması nrf kısmında ayarların diğer kısmı hep aynı
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?