Страница 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 поставить?
серавно не пойму как передать мой код в виде юарта и получить его на юарт

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
везде в примерах идёт посылка буфер буфер тобиш
а если сделать вот так на моём коде где у меня в буфере хранятся данные и выплюнуть их тупо
тобиш так
Код: Выделить всё
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 байт и выводить в терминал
как разберешся с модулями, то можеш уже дальше писать свой код, это стандартный подход при разработке