Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Автоматика и аппаратура связи Дистанционное и непосредственное управление исполнительными механизмами, сотовая, а также радиосвязь.

Ответ
Опции темы

Однокристальные трансиверы TRC101 от RFM...

Непрочитано 10.02.2010, 23:38   #261
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Однокристальные трансиверы TRC101 от RFM...

Я использую эту библиотеку с das-labor.org rfm12lib.zip, в ней реализованы програмный и аппаратный SPI, работа с модулем по преріванию и опросу, контроль несущей и др. подробней в доке.
Внутри архива перевод доки к библиотеки и пример файла rfm12_config.h с програмным SPI.
Проверена работа на atmega8, atmega16, atmega128 в связке с RFM12B (Uпит.5В!), RFM12, TRC102 - работает в режиме трансивера без вопросов.
Прерывание в примере сконфигурировано под Atmega128, для atmega 8,16 замени на:

/**** INTERRUPT VECTOR
* define the interrupt vector settings here
*/


//the interrupt vector
#define RFM12_INT_VECT (INT0_vect)

//the interrupt mask register
#define RFM12_INT_MSK GICR

//the interrupt bit in the mask register

#define RFM12_INT_BIT (INT0)

//the interrupt flag register
#define RFM12_INT_FLAG GIFR

//the interrupt bit in the flag register
#define RFM12_FLAG_BIT (INTF0)

//setup the interrupt to trigger on negative edge

#define RFM12_INT_SETUP() MCUCR |= (1‹‹ISC01)


---------------------------------------------------------------------------------------------
Пример работы с библиотекой:

#include ‹stdlib.h›
#include ‹avr/io.h›
#include ‹util/delay.h› /// задержки
#include "lcd.h"
#include ‹avr/io.h›
#include ‹avr/interrupt.h›
#include ‹util/delay.h›
#include ‹string.h›
#include ‹avr/sleep.h›
#include "rfm12.h"


char buffer[7];
unsigned char das,a,b,tv;
unsigned int ticker;

int main(void)
{
uint8_t tv[] = "Мы принимаем";

uint8_t *bufcontents;
uint8_t i;

_delay_ms(150);
rfm12_init();

sei();

lcd_init(LCD_DISP_ON);
lcd_clrscr();

rfm12_tx (sizeof(tv), 0, tv);
rfm12_tick();
_delay_ms(250);

while (1)
{
ticker++;

if (b›15)
{ b=0;
rfm12_tx (sizeof(df), 0, df);
rfm12_tick();
}

b++;

itoa( rfm12_rx_status(), buffer, 10);
lcd_puts(buffer);

if (rfm12_rx_status() == STATUS_COMPLETE)
{ b=0;
ticker = 0;
bufcontents = rfm12_rx_buffer();
for (i=1;i‹rfm12_rx_len();i++)
{
lcd_putc(bufcontents[i]);
}
rfm12_rx_clear();
rfm12_tx (sizeof(df), 0, df);
rfm12_tick();
}
das++;
if(das==10)das=0;
df[0]=das;
df[1]=0;

rfm12_tick() //Без этого работает не стабильно
}
}


----------------------------------------------------------------------------------------
Библиотека для работы с дисплеем на контроллере hd44780, добавлен символ батарейки и массив для автоматической перекодировки русских символов hd44780lib.zip

Возникнут вопросы пишите в теме.
Реклама:

Последний раз редактировалось harchenko_pavel; 21.02.2010 в 13:53.
harchenko_pavel вне форума   Ответить с цитированием
Сказали "Спасибо" harchenko_pavel
ciscobsci (27.07.2011)
Непрочитано 11.02.2010, 00:42   #262
Pavel_xx
Частый гость
 
Регистрация: 07.12.2009
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
Pavel_xx на пути к лучшему
По умолчанию Re: Однокристальные трансиверы TRC101 от RFM...

harchenko_pavel,
спасибо за библиотеку и пример кода.
Почитал я прилагающуюся документацию - первое что бросилось в глаза - библиотека под AVR-GCC. А я работаю на CV AVR...
Pavel_xx вне форума   Ответить с цитированием
Непрочитано 11.02.2010, 00:44   #263
Pavel_xx
Частый гость
 
Регистрация: 07.12.2009
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
Pavel_xx на пути к лучшему
По умолчанию Re: Однокристальные трансиверы TRC101 от RFM...

Сообщение от Panchiks Посмотреть сообщение
Частотомер или укв-ка есть?
да есть приемник, работающий в диапазоне СВ. Там на шкале можно накрутить на 433 МГц.
Pavel_xx вне форума   Ответить с цитированием
Непрочитано 11.02.2010, 01:00   #264
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Однокристальные трансиверы TRC101 от RFM...

Сообщение от Pavel_xx Посмотреть сообщение
harchenko_pavel,
спасибо за библиотеку и пример кода.
Почитал я прилагающуюся документацию - первое что бросилось в глаза - библиотека под AVR-GCC. А я работаю на CV AVR...
Здесь пример работы с модулями на CV AVR http://www.obersomer.com/furios-powe...d=77&Itemid=69
harchenko_pavel вне форума   Ответить с цитированием
Непрочитано 11.02.2010, 01:12   #265
Pavel_xx
Частый гость
 
Регистрация: 07.12.2009
Сообщений: 10
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
Pavel_xx на пути к лучшему
По умолчанию Re: Однокристальные трансиверы TRC101 от RFM...

Сообщение от harchenko_pavel Посмотреть сообщение
Здесь пример работы с модулями на CV AVR
вот это то, что я искал!! огромнейшее спасибо!!
Pavel_xx вне форума   Ответить с цитированием
Непрочитано 26.04.2010, 16:59   #266
TVN66
Прохожий
 
Регистрация: 13.10.2009
Сообщений: 6
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
TVN66 на пути к лучшему
По умолчанию Re: Однокристальные трансиверы TRC101 от RFM...

Всем привет! На днях тоже решил подключиться к сообществу пользователей TRC-101, TRC-102. Одного не могу понять: обязательно ли выключать приемник при передаче и передатчик при приеме. Тогда где же тут декларируемый дуплекс? Я думал - сделаю прием на одном канале, а передачу на другом - и вот оно - полный дуплекс! А во всех имеющихся у меня примерах TRC переключаются на прием или передачу. Если кто знает, ответьте, пожалуйста!
TVN66 вне форума   Ответить с цитированием
Непрочитано 26.04.2010, 17:09   #267
vdlab
Гражданин KAZUS.RUN
 
Аватар для vdlab
 
Регистрация: 17.07.2006
Адрес: PV.DP.UA
Сообщений: 620
Сказал спасибо: 3
Сказали Спасибо 60 раз(а) в 48 сообщении(ях)
vdlab на пути к лучшему
По умолчанию Re: Однокристальные трансиверы TRC101 от RFM...

А где там дуплекс "задекларирован" ?
В подобных трансиверах дуплекс в принципе невозможен, т.к. для этого нужны две независимые радиочасти и два синтезатора, кроме того их еще и развязать друг от друга надо, что в однокристальных решениях весьма затруднительно.
__________________
Если ты читаешь это - значит тебе нечем заняться...
vdlab вне форума   Ответить с цитированием
Непрочитано 26.04.2010, 19:38   #268
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: Однокристальные трансиверы TRC101 от RFM...

TVN66, модуль TRC102 не поддерживает дуплексный режим. Какая стоит перед Вами задача, может и симплекса хватит?
harchenko_pavel вне форума   Ответить с цитированием
Непрочитано 26.04.2010, 20:03   #269
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
Сообщение Re: Однокристальные трансиверы TRC101 от RFM...

Пример работы с библиотекой:

Модуль работающий "Мастером"

#include ‹stdlib.h›
#include ‹avr/io.h›
#include ‹avr/interrupt.h›
#include ‹inttypes.h›
#include "rfm12.h"
#include "lcd.h"


char buffer[7];

int main(void)
{
uint8_t tv[] = "Мы принимаем";

uint8_t *bufcontents;
uint8_t i, cnt;

rfm12_init();

sei();

lcd_init(LCD_DISP_ON);
lcd_clrscr();

while (rfm12_rx_status() != STATUS_COMPLETE) //Синхронизация с ведомым модулем
{
if (!cnt++)
{
rfm12_tx (sizeof(tv), 0, tv);
rfm12_tick();
}
}

while (1)
{
if (!cnt++)
{
rfm12_tx (sizeof(tv), 0, tv);
rfm12_tick();
}
itoa( rfm12_rx_status(), buffer, 10);
lcd_puts(buffer);
if (rfm12_rx_status() == STATUS_COMPLETE)
{
cnt = 0;
bufcontents = rfm12_rx_buffer();
for (i=1;i‹rfm12_rx_len();i++) lcd_putc(bufcontents[i]);
}
}




Модуль работающий "Второстепенным"

#include ‹stdlib.h›
#include ‹avr/io.h›
#include ‹avr/interrupt.h›
#include ‹inttypes.h›
#include "rfm12.h"
#include "lcd.h"


char buffer[7];

int main(void)
{
uint8_t tv[] = "Мы принимаем";

uint8_t *bufcontents;
uint8_t i;

rfm12_init();

sei();

lcd_init(LCD_DISP_ON);
lcd_clrscr();

while (1)
{
itoa( rfm12_rx_status(), buffer, 10);
lcd_puts(buffer);
if (rfm12_rx_status() == STATUS_COMPLETE)
{
bufcontents = rfm12_rx_buffer();
for (i=1;i‹rfm12_rx_len();i++) lcd_putc(bufcontents[i]);
rfm12_tx (sizeof(tv), 0, tv);
rfm12_tick();
}
}

На скорости 38400 получил уверенную двустороннюю связь на расстоянии 250м, дополнительно проверял контрольную сумму

Последний раз редактировалось harchenko_pavel; 26.04.2010 в 22:12.
harchenko_pavel вне форума   Ответить с цитированием
Непрочитано 25.08.2010, 16:34   #270
phantom2010
Прохожий
 
Регистрация: 03.03.2009
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
phantom2010 на пути к лучшему
По умолчанию Re: Однокристальные трансиверы TRC101 от RFM...

люди можете рассказать как подключить trc101 к mrc40 и как реализовать приём-передачу программно на mrc40?
phantom2010 вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Однокристальные трансиверы CC2500 (СС1100) kassiopay Микроконтроллеры, АЦП, память и т.д 2 07.06.2009 19:08


Часовой пояс GMT +4, время: 03:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.