Страница 1 из 1

RF-2400W

Добавлено: Пт май 31, 2013 15:10:28
kotriks
народ кто работал с этими радио модулями? можно ли ими передавать и ими же принимать сигнал?

Re: RF-2400W

Добавлено: Пт май 31, 2013 15:23:28
ibiza11
Transceiver - переводится как приемо-передатчик.
4-pin SPI interface with maximum 8 MHz clock rate
Проблем не должно быть, пробовали хоть?

Re: RF-2400W

Добавлено: Пт май 31, 2013 16:06:37
kotriks
нет не пробывал. купил 15 шт и не знаю как запустить их ))

Re: RF-2400W

Добавлено: Пт май 31, 2013 16:45:06
kotriks
нашёл тут библы http://www.tinkerer.eu/AVRLib/nRF24L01 вот как всё это дело заюзать, передать пакет например

Код: Выделить всё

void Send(){

unsigned char bit,i;
unsigned int Buffer;

    if(i==44){
        for(bit=0;bit<16;bit++)  {
            if (!(PINB & (1<<2)))  Buffer|=1;  
 }

if(Buffer!=0) {
передать(Buffer); 
  }
}
может кто подскажет кому не сложно?
там где написал передать это данные накопленные в буфере нужно выкинуть в эфир.

Re: RF-2400W

Добавлено: Пт май 31, 2013 16:57:29
kalobyte
по твоему же линку все написано
#define mirf_PAYLOAD 16
16 байт буфер
делаеш char buffer [mirf_PAYLOAD] = {инфа в байтах};
потом mirf_send(buffer,mirf_PAYLOAD);
для налача можеш поставить 1 байт

Re: RF-2400W

Добавлено: Пт май 31, 2013 17:05:12
kotriks
это максимальное значение 16 байт буф или можно и 100 поставить?
серавно не пойму как передать мой код в виде юарта и получить его на юарт :o

Re: RF-2400W

Добавлено: Сб июн 01, 2013 12:07:12
kotriks
народ может есть желающие помочь? в замен могу 6 модулей подарить.

Re: RF-2400W

Добавлено: Сб июн 01, 2013 14:06:35
kalobyte
хотел себе такую передавалку сделать, но сейчас пока лень
модули у меня и так 10 штук

найди код считывания с юарт в буфер, такого навалом и я давно использовал
потом вызывай передачу по заполнению буфера и все

Re: RF-2400W

Добавлено: Сб июн 01, 2013 15:04:57
kotriks
да вот понять бы как сделать чтобы из буфера в 200 байт сделать выброс по воздуху и получить его в по юарту на компе уже. пример бы я уже бы сделал потом.

Re: RF-2400W

Добавлено: Сб июн 01, 2013 15:57:24
Ser60
Передача и прием пакетов детально описана в ДШ на модуль. Работа с ними аналогична модулям из статьи
http://radiokot.ru/circuit/analog/receiv_transmit/33/
Там-же и исходник есть для приема по UART.

Re: RF-2400W

Добавлено: Сб июн 01, 2013 16:17:47
kotriks
да то что в даташите описано это понятно, кто бы показал на примере есть у меня буфер скопилась в нём инфа в 200 байт вот как её отправить?

Re: RF-2400W

Добавлено: Сб июн 01, 2013 16:40:39
Ser60
Коротко - из этой инфы надо сформировать пакет, см. формат пакета в ДШ или в статье выше. Затем загрузить его в FIFO передатчика через SPI и затем послать в передатчик команду на передачу. Подробнее см. исходники в статье выше. С длиной инфы в 200 байт будет немного сложнее чем в статье, т.к. размер FIFO передатчика меньше. Инфу или надо будет резать на куски и передавать по частям или подгружать ее по мере освобождения FIFO. Такого готового программного решения у меня нет.

Однако, если не хотите заморачиваться с программизмом всего этого, у Anaren есть готовое решение в виде "Wireless UART"
http://www.anaren.com/air/software-demos-examples
Правда, по-моему их пока еще нет в продаже (новый продукт), но появится в этом году. У меня эта система, однако, есть (спасибо Anaren-у) и я собираюсь написать о ней статью вскоре.

Re: RF-2400W

Добавлено: Сб июн 01, 2013 19:17:47
kotriks
может я вопрос не так ставлю или вы меня не понимаете, просто помогите примером как из буфера в котором накопилась инфа из вне, например подал я на ногу контроллера сигнал в виде прямоугольной прямой звук она записалась в буфер контроллера и после того как записалась выплюнуть её :(
вот например код

Код: Выделить всё


setup();
mirf_init();
_delay_ms(50);
mirf_config();
uint8_t buffer[5] = {14, 123, 63, 23, 54};
uint8_t buffersize = 5;
 
while(1) {
  mirf_send(buffer,buffersize);
  _delay_ms(1000);
 
  // If maximum retries were reached, reset MAX_RT
  if (mirf_max_rt_reached()) {
    mirf_config_register(STATUS, 1<<MAX_RT);
  }
}
тут посылает 14, 123, 63, 23, 54
но это внутри кодная посылка а мне надо из вне.

Re: RF-2400W

Добавлено: Сб июн 01, 2013 19:53:00
kalobyte
ну у тебя есть же переменная буфера?
найди код, который принимает из юарт байт в прерывании и записывает в буфер
у меня сейчас нет того примера 100% рабочего под рукой, давно делал еще
вот я за тебя сделал 50% работы
http://www.avrfreaks.net/index.php?name ... ic&t=83876
http://intranet.daiict.ac.in/~ranjan/es ... _uart.html

Re: RF-2400W

Добавлено: Сб июн 01, 2013 20:43:33
kotriks
посылку то можно сделать и не через юарт, а при получении вывести, что получил в терминал, но как отправить то с буфера ни чё не понимаю.
пс. или я не прав?

Re: RF-2400W

Добавлено: Вт июн 04, 2013 09:58:25
kotriks
везде в примерах идёт посылка буфер буфер тобиш

Код: Выделить всё

mirf_send(buffer,buffersize);
а если сделать вот так на моём коде где у меня в буфере хранятся данные и выплюнуть их тупо

Код: Выделить всё

mirf_send(Buffer);
тобиш так

Код: Выделить всё

void Send(){

unsigned char bit,i;
unsigned int Buffer;

    if(i==44){
        for(bit=0;bit<16;bit++)  {
            if (!(PINB & (1<<2)))  Buffer|=1; 
 }

if(Buffer!=0) {
mirf_send(Buffer);
  }
}
сработает ли это?

Re: RF-2400W

Добавлено: Вт июн 04, 2013 16:46:29
kalobyte
функция отправки в буфер подразумевает 2 аргумента
сам буфер и его размер, а ты размер не указываеш и при компиляции будет ошибка

а что делает твой код - никому не известно

сделай один приемник и один передатчик, который в цикле будет принимать 1 байт и выводить в терминал
как разберешся с модулями, то можеш уже дальше писать свой код, это стандартный подход при разработке