Стучите в ICQ 301610730
Дам полную консультацию и примеры кодов для этого трансивера.
Вот моя библиотека для работы с этим чипом
Код
;************************************************
;** Подпрограмма работы с трансивером **
;** nRF905 совместно с процессором **
;** ATmega 48/88/168 **
;************************************************
;* ---- Используемые регистры -------------- *
;************************************************
;* Регистр Cfg предназначен для занесения пара- *
;* метра в вызываемую функцию *
;************************************************
;* регистр tmp1 для обмена данных *
;* регистр tmp2 для обмена данных *
;* регистр data для данных TX/RX *
;************************************************
;* CSN выбор трансивера *
;************************************************
;* ------ Настройка портов SPI ------ *
;************************************************
;* ldi tmp1 , (1<<ddb3)|(1<<ddb5)|(1<<ddb2) *
;* out ddrb , tmp1 *
;************************************************
;* ------ Настройка SPI модуля --------- *
;************************************************
;* ldi tmp1 , *
;* (1<<SPE)|(1<<MSTR)|(1<<SPR1)|(1<<SPR0) *
;* out spcr , tmp1 *
;************************************************
freq_transiver:;установка рабочей частоты
cbi CSN
rcall delay
ldi tmp1 , 0
rcall wait_spi
rcall wait_spi1
rcall delay
sbi CSN
rcall delay
ret
;-----------------
pwr_transiver: ;установка мощьности передатчика
cbi CSN
rcall delay
ldi tmp1 , 1
rcall wait_spi
rcall wait_spi1
rcall delay
sbi CSN
rcall delay
ret
;-----------------
spectr_transiver:; установка ширины RX и TX адресa
cbi CSN
rcall delay
ldi tmp1 , 2
rcall wait_spi
rcall wait_spi1
rcall delay
sbi CSN
rcall delay
ret
;-------------------------
spectr_data_transiver_rx:;ширина RX данныx
cbi CSN
rcall delay
ldi tmp1 , 3
rcall wait_spi
rcall wait_spi1
rcall delay
sbi CSN
rcall delay
ret
;------------------------
spectr_data_transiver_tx:; ширина TX данныE
cbi CSN
rcall delay
ldi tmp1 , 4
rcall wait_spi
rcall wait_spi1
rcall delay
sbi CSN
rcall delay
ret
;------------------------
rx_adress_transiver: ;запись адреса приёмника
cbi CSN
rcall delay
ldi tmp1 , 5
rcall wait_spi
ldi tmp1 , 0xE7 ;адрес приёмника [0]
rcall wait_spi
rcall delay
sbi CSN
rcall delay
cbi CSN
rcall delay
ldi tmp1 , 6
rcall wait_spi
ldi tmp1 , 0xE7 ;адрес приёмника [1]
rcall wait_spi
rcall delay
sbi CSN
rcall delay
cbi CSN
rcall delay
ldi tmp1 , 7
rcall wait_spi
ldi tmp1 , 0xE7 ;адрес приёмника [2]
rcall wait_spi
rcall delay
sbi CSN
rcall delay
cbi CSN
rcall delay
ldi tmp1 , 8
rcall wait_spi
ldi tmp1 , 0xE7 ;адрес приёмника [3]
rcall wait_spi
rcall delay
sbi CSN
rcall delay
ret
;------------------------
mode_qr_transiver: ; установка конфигурации кварца и т.д.
cbi CSN
rcall delay
ldi tmp1 , 9
rcall wait_spi
rcall wait_spi1
rcall delay
sbi CSN
rcall delay
ret
;-----------------------
tx_adress_transiver: ;апись адреса передатчика
cbi CSN
rcall delay
ldi tmp1 , 34
rcall wait_spi
ldi tmp1 , 0xE7 ;адрес передатчика [0]
rcall wait_spi
ldi tmp1 , 0xE7 ;адрес передатчика [1]
rcall wait_spi
ldi tmp1 , 0xE7 ;адрес передатчика [2]
rcall wait_spi
ldi tmp1 , 0xE7 ;адрес передатчика [3]
rcall wait_spi
rcall delay
sbi CSN
rcall delay
ret
;------------------------
rx_data_transiver: ;считать данные с буфера приёмника
cbi CSN
rcall delay
ldi tmp1 , 36
rcall wait_spi
ldi tmp1 , 0
rcall wait_spi
in data , SPDR
rcall delay
sbi CSN
rcall delay
ret
;------------------------
tx_data_transiver1:;3аписать данные в буфер передатчика
cbi CSN
rcall delay
ldi tmp1 , 32
rcall wait_spi
mov tmp1,data
rcall wait_spi
rcall delay
sbi CSN
rcall delay
ret
;------------------------
delay:
;push tmp1
ldi tmp1 , 0xff
wdr
nop
nop
nop
nop
dec tmp1
brne pc-5
;pop tmp1
ret
;-------------------------
wait_spi:
out SPDR , tmp1
in tmp2 , spsr
sbrs tmp2 , spif
rjmp pc-2
ret
;-------------------------
wait_spi1:
out SPDR , cfg
in tmp2 , spsr
sbrs tmp2 , spif
rjmp pc-2
ret