Программирование BASCOM
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » BASCOM » Вопросы-ответы » Проблема с RFM23B коллективный разум ПОМОГИ...
Проблема с RFM23B коллективный разум ПОМОГИ...
CverGДата: Пятница, 18.02.2011, 14:10 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 9
Статус: Offline
уже недели 2 или 3 пытаюсь хоть что то получить из этих радио модулей. Ничего не выходит. Я прям совсем уже растроился :(.

пробовал разное но в конце концов хочу хотябы из них device version: и device type: получить. вот пример кода и подключение. Может я чего не так делаю???

$regfile = "m8def.dat"
$hwstack = 32
$swstack = 10
$framesize = 40
$crystal = 12000000
$baud = 19200
Baud = 19200

Config Portd.2 = Input 'RFM23 nIRQ IN
Nirq Alias Pind.2
Config Portb.2 = Output 'RFM23 nSEL OUT
Nsel Alias Portb.2
Set Nsel

Declare Sub Rf23_write(byval Wr As Word) As Word
Declare Sub Rf23_read(byval Rd As Byte) As Byte
Dim Rf23_rd As Byte
Dim Cmd(2) As Byte

Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 64 , Noss = 1 , Spiin = 0
Spiinit

Do

Waitms 100
Print "--------------------------------------------------------"
Print "Sbros SW: - "
Call Rf23_write(&H0780)
Print "________________________________________________________" 'SW Reset
Waitms 10

Print
Print "*************************"
Print "* *"
Call Rf23_read(&H00) 'Get device type
Print "device type: " ; Bin(rf23_rd)
Print "* *"
Print "*************************"
Print "* *"
Call Rf23_read(&H01) 'Get device version
Print "device version: " ; Bin(rf23_rd)
Print "* *"
Print "*************************"
Print
Print

Wait 5
Loop

'_________________________________________________________________________________

Sub Rf23_read(byval Rd As Byte) As Byte

Reset Nsel
Spiout Rd , 1
Print
Print "_ Rf23_read Zapros v RFM23: " ; Rd 'write register address
Spiin Rf23_rd , 1 'store register value in Rf23_rd
Print "_ Rf23_read Priem iz RFM23: " ; Rf23_rd
Print
Set Nsel

End Sub

Sub Rf23_write(byval Wr As Word) As Word

Cmd(2) = Low(wr) 'low byte
Cmd(1) = High(wr) 'high byte
Set Cmd(1).7 'set Write bit
Reset Nsel
Spiout Cmd(1) , 2
Print "! ..Rf23_write Zapros v RFM23 Cmd(1)-" ; Cmd(1) ; " Cmd(2)-" ; Cmd(2) ; " !"
Set Nsel

End Sub

http://Pepelgrad.narod.ru/dgadai/test.JPG скрин с терминала
http://pepelgrad.narod.ru/dgadai/RFM23B.JPG схемка. извените за качество некогда было нормально сделать.

Сообщение отредактировал CverG - Пятница, 18.02.2011, 15:19
 
Форум » BASCOM » Вопросы-ответы » Проблема с RFM23B коллективный разум ПОМОГИ...
Страница 1 из 11
Поиск:

Copyright Radan Studio © 2017