RF-2400W
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
народ кто работал с этими радио модулями? можно ли ими передавать и ими же принимать сигнал?
- Реклама
Transceiver - переводится как приемо-передатчик.
Проблем не должно быть, пробовали хоть?4-pin SPI interface with maximum 8 MHz clock rate
Ставим плюсы: )
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
нашёл тут библы 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);
}
}там где написал передать это данные накопленные в буфере нужно выкинуть в эфир.
Последний раз редактировалось kotriks Пт май 31, 2013 17:37:49, всего редактировалось 1 раз.
- Сообщения: 13796
- Зарегистрирован: Чт сен 20, 2007 14:08:00
по твоему же линку все написано
#define mirf_PAYLOAD 16
16 байт буфер
делаеш char buffer [mirf_PAYLOAD] = {инфа в байтах};
потом mirf_send(buffer,mirf_PAYLOAD);
для налача можеш поставить 1 байт
#define mirf_PAYLOAD 16
16 байт буфер
делаеш char buffer [mirf_PAYLOAD] = {инфа в байтах};
потом mirf_send(buffer,mirf_PAYLOAD);
для налача можеш поставить 1 байт
тематические ответы только в форуме, в приват не пишите
- Реклама
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
это максимальное значение 16 байт буф или можно и 100 поставить?
серавно не пойму как передать мой код в виде юарта и получить его на юарт
серавно не пойму как передать мой код в виде юарта и получить его на юарт
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
- Сообщения: 13796
- Зарегистрирован: Чт сен 20, 2007 14:08:00
хотел себе такую передавалку сделать, но сейчас пока лень
модули у меня и так 10 штук
найди код считывания с юарт в буфер, такого навалом и я давно использовал
потом вызывай передачу по заполнению буфера и все
модули у меня и так 10 штук
найди код считывания с юарт в буфер, такого навалом и я давно использовал
потом вызывай передачу по заполнению буфера и все
тематические ответы только в форуме, в приват не пишите
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
да вот понять бы как сделать чтобы из буфера в 200 байт сделать выброс по воздуху и получить его в по юарту на компе уже. пример бы я уже бы сделал потом.
- Сообщения: 3793
- Зарегистрирован: Ср дек 24, 2008 09:58:58
Передача и прием пакетов детально описана в ДШ на модуль. Работа с ними аналогична модулям из статьи
http://radiokot.ru/circuit/analog/receiv_transmit/33/
Там-же и исходник есть для приема по UART.
http://radiokot.ru/circuit/analog/receiv_transmit/33/
Там-же и исходник есть для приема по UART.
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
да то что в даташите описано это понятно, кто бы показал на примере есть у меня буфер скопилась в нём инфа в 200 байт вот как её отправить?
- Сообщения: 3793
- Зарегистрирован: Ср дек 24, 2008 09:58:58
Коротко - из этой инфы надо сформировать пакет, см. формат пакета в ДШ или в статье выше. Затем загрузить его в FIFO передатчика через SPI и затем послать в передатчик команду на передачу. Подробнее см. исходники в статье выше. С длиной инфы в 200 байт будет немного сложнее чем в статье, т.к. размер FIFO передатчика меньше. Инфу или надо будет резать на куски и передавать по частям или подгружать ее по мере освобождения FIFO. Такого готового программного решения у меня нет.
Однако, если не хотите заморачиваться с программизмом всего этого, у Anaren есть готовое решение в виде "Wireless UART"
http://www.anaren.com/air/software-demos-examples
Правда, по-моему их пока еще нет в продаже (новый продукт), но появится в этом году. У меня эта система, однако, есть (спасибо Anaren-у) и я собираюсь написать о ней статью вскоре.
Однако, если не хотите заморачиваться с программизмом всего этого, у Anaren есть готовое решение в виде "Wireless UART"
http://www.anaren.com/air/software-demos-examples
Правда, по-моему их пока еще нет в продаже (новый продукт), но появится в этом году. У меня эта система, однако, есть (спасибо Anaren-у) и я собираюсь написать о ней статью вскоре.
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
может я вопрос не так ставлю или вы меня не понимаете, просто помогите примером как из буфера в котором накопилась инфа из вне, например подал я на ногу контроллера сигнал в виде прямоугольной прямой звук она записалась в буфер контроллера и после того как записалась выплюнуть её 
вот например код
тут посылает 14, 123, 63, 23, 54
но это внутри кодная посылка а мне надо из вне.
вот например код
Код: Выделить всё
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);
}
}
но это внутри кодная посылка а мне надо из вне.
- Сообщения: 13796
- Зарегистрирован: Чт сен 20, 2007 14:08:00
ну у тебя есть же переменная буфера?
найди код, который принимает из юарт байт в прерывании и записывает в буфер
у меня сейчас нет того примера 100% рабочего под рукой, давно делал еще
вот я за тебя сделал 50% работы
http://www.avrfreaks.net/index.php?name ... ic&t=83876
http://intranet.daiict.ac.in/~ranjan/es ... _uart.html
найди код, который принимает из юарт байт в прерывании и записывает в буфер
у меня сейчас нет того примера 100% рабочего под рукой, давно делал еще
вот я за тебя сделал 50% работы
http://www.avrfreaks.net/index.php?name ... ic&t=83876
http://intranet.daiict.ac.in/~ranjan/es ... _uart.html
тематические ответы только в форуме, в приват не пишите
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
посылку то можно сделать и не через юарт, а при получении вывести, что получил в терминал, но как отправить то с буфера ни чё не понимаю.
пс. или я не прав?
пс. или я не прав?
- Сообщения: 274
- Зарегистрирован: Чт апр 28, 2011 15:08:58
везде в примерах идёт посылка буфер буфер тобиш
а если сделать вот так на моём коде где у меня в буфере хранятся данные и выплюнуть их тупо
тобиш так
сработает ли это?
Код: Выделить всё
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);
}
}- Сообщения: 13796
- Зарегистрирован: Чт сен 20, 2007 14:08:00
функция отправки в буфер подразумевает 2 аргумента
сам буфер и его размер, а ты размер не указываеш и при компиляции будет ошибка
а что делает твой код - никому не известно
сделай один приемник и один передатчик, который в цикле будет принимать 1 байт и выводить в терминал
как разберешся с модулями, то можеш уже дальше писать свой код, это стандартный подход при разработке
сам буфер и его размер, а ты размер не указываеш и при компиляции будет ошибка
а что делает твой код - никому не известно
сделай один приемник и один передатчик, который в цикле будет принимать 1 байт и выводить в терминал
как разберешся с модулями, то можеш уже дальше писать свой код, это стандартный подход при разработке
тематические ответы только в форуме, в приват не пишите


