Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Вопросы начинающих

Вопросы начинающих Прежде чем задать вопрос, стоит воспользоваться поиском

Ответ
 
Опции темы Опции просмотра
Старый 27.05.2011, 21:24   #1
K_E_S_T
Senior Member
 
Регистрация: 25.08.2010
Возраст: 26
Сообщений: 258
Вес репутации: 275/40
K_E_S_T is a jewel in the roughK_E_S_T is a jewel in the roughK_E_S_T is a jewel in the rough
По умолчанию mrf23b

Пытаюсь соединить данный радиомодуль с pic18f45k20. Но что-то не клеится. С аппратным SPI не завелось, написал вот такой код для определения работает ли вообще или нет.

Код:
#include <p18f45k20.h>
#include <delays.h>

#define SCK LATCbits.LATC3
#define SDO LATCbits.LATC5
#define SDI LATCbits.LATC4
#define nSEL LATAbits.LATA0


void main(void){

 OSCCON=0b00000011;
 TRISD=0;
 ADCON0=0;
 TRISA=0;
 PORTA=255;
 TRISC=0b00010000;
 nSEL=1;
 PORTC=0;	
 Delay10TCYx(255);
	

 while(1) {
  Delay10TCYx(2);
  nSEL=0;

  SDO=0; Nop();Nop();
  SCK=1;
  Nop();Nop();Nop();Nop();
  SCK=0;
  Nop();Nop();Nop();

  SDO=0; Nop();Nop();
  SCK=1;
  Nop();Nop();Nop();Nop();
  SCK=0;
  Nop();Nop();Nop();

  SDO=1;Nop();Nop();
  SCK=1;
  Nop();Nop();Nop();Nop();
  SCK=0;
  Nop();Nop();Nop();

  SDO=0;Nop();Nop();
  SCK=1;
  Nop();Nop();Nop();Nop();
  SCK=0;
  Nop();Nop();Nop();

  SDO=1;Nop();Nop();
  SCK=1;
  Nop();Nop();Nop();Nop();
  SCK=0;
  Nop();Nop();Nop();

  SDO=0;Nop();Nop();
  SCK=1;
  Nop();Nop();Nop();Nop();
  SCK=0;
  Nop();Nop();Nop();

  SDO=0;Nop();Nop();
  SCK=1;
  Nop();Nop();Nop();Nop();
  SCK=0;
  Nop();Nop();Nop();

  SDO=1;Nop();Nop();
  SCK=1;
  Nop();Nop();Nop();Nop();
  SCK=0;
  Nop();Nop();Nop();SDO=0;
////////

  SCK=1;
  Nop();
  PORTDbits.RD0=SDI;
  SCK=0;
  Nop();Nop();Nop();Nop();  

  SCK=1;
  Nop();
  PORTDbits.RD1=SDI;
  SCK=0;
  Nop();Nop();Nop();Nop();

  SCK=1;
  Nop();
  PORTDbits.RD2=SDI;
  SCK=0;
  Nop();Nop();Nop();Nop();

  SCK=1;
  Nop();
  PORTDbits.RD3=SDI;
  SCK=0;
  Nop();Nop();Nop();Nop();

  SCK=1;
  Nop();
  PORTDbits.RD4=SDI;
  SCK=0;
  Nop();Nop();Nop();Nop(); 

  SCK=1;
  Nop();
  PORTDbits.RD5=SDI;
  SCK=0;
  Nop();Nop();Nop();Nop();  

  SCK=1;
  Nop();
  PORTDbits.RD6=SDI;
  SCK=0;
  Nop();Nop();Nop();Nop(); 

  SCK=1;
  Nop();
  PORTDbits.RD7=SDI;
  SCK=0;
  Nop();Nop();Nop();Nop();
  nSEL=1;
 }

}
По идее должно читать в PORTD содержимое регистра. Однако при любом адресе возвращает 0х08. Вот осцилограмма(со звуоквой карты).
Подключено по проводам правильно вроде все. Единственное, на платке 3 вывода земли, реально к земле подключил только один, но они вроде бы все замкнуты, поэтому причина врятли в этом... Подскажите что не так делаю?
Миниатюры
2.jpg  
K_E_S_T вне форума   Ответить с цитированием
Старый 27.05.2011, 22:04   #2
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/115
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: mrf23b

А что за mrf23b? Ссылку можно?
Machine slave вне форума   Ответить с цитированием
Старый 27.05.2011, 22:05   #3
K_E_S_T
Senior Member
 
Регистрация: 25.08.2010
Возраст: 26
Сообщений: 258
Вес репутации: 275/40
K_E_S_T is a jewel in the roughK_E_S_T is a jewel in the roughK_E_S_T is a jewel in the rough
По умолчанию Re: mrf23b

http://www.hoperf.com/pro/rf/fsk/RFM23B.htm
K_E_S_T вне форума   Ответить с цитированием
Старый 27.05.2011, 22:13   #4
Machine slave
Senior Member
 
Аватар для Machine slave
 
Регистрация: 18.01.2008
Возраст: 37
Сообщений: 4,264
Вес репутации: 2731/115
Machine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond reputeMachine slave has a reputation beyond repute
По умолчанию Re: mrf23b

А почему бы не задействовать аппартный SPI?

ЗЫ. mrf23b - rfm23b
Machine slave вне форума   Ответить с цитированием
Старый 27.05.2011, 22:16   #5
K_E_S_T
Senior Member
 
Регистрация: 25.08.2010
Возраст: 26
Сообщений: 258
Вес репутации: 275/40
K_E_S_T is a jewel in the roughK_E_S_T is a jewel in the roughK_E_S_T is a jewel in the rough
По умолчанию Re: mrf23b

пробовал, как-то не завелось сразу, там пита 16битного поэтому греша на разную рязрядность попробовал "програмный" написать
K_E_S_T вне форума   Ответить с цитированием
Старый 27.05.2011, 22:59   #6
K_E_S_T
Senior Member
 
Регистрация: 25.08.2010
Возраст: 26
Сообщений: 258
Вес репутации: 275/40
K_E_S_T is a jewel in the roughK_E_S_T is a jewel in the roughK_E_S_T is a jewel in the rough
По умолчанию Re: mrf23b

Цитата:
Сообщение от Machine slave Посмотреть сообщение
ЗЫ. mrf23b - rfm23b
да, заметил уже. переклинило как-то а поправить нельзя уже..
K_E_S_T вне форума   Ответить с цитированием
Старый 29.05.2011, 14:05   #7
serjkru
Junior Member
 
Регистрация: 29.05.2011
Возраст: 37
Сообщений: 1
Вес репутации: 100/0
serjkru will become famous soon enoughserjkru will become famous soon enough
По умолчанию Re: mrf23b

Смотри тут или тут.
serjkru вне форума   Ответить с цитированием
Старый 29.05.2011, 14:44   #8
K_E_S_T
Senior Member
 
Регистрация: 25.08.2010
Возраст: 26
Сообщений: 258
Вес репутации: 275/40
K_E_S_T is a jewel in the roughK_E_S_T is a jewel in the roughK_E_S_T is a jewel in the rough
По умолчанию Re: mrf23b

ссылки эти видел уже.. да и проблема исчезла куда-то. сегодня код(взял функции софтового SPI с http://www.3e-club.ru/ - как то больше понравился), который не работал вчера - работает... магнитные бури наверное

а 0х08 - содержимое нулевого регистра(0х00). хотя по даташиту нам должно быть 0х07. Но даташит на 22 и 23 модули, а этот регистр как раз содержит "Device type", так что наверное это нормально

ЗЫ всем отозвавшимся спасибо
K_E_S_T вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 23:29.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot