Беспроводная сеть

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

Re: Беспроводная сеть

Сообщение Myp » 11 дек 2010, 15:21

для ТР24 есть код для васика под авр, когда придут попробую.
у автора вроде всё работает.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Беспроводная сеть

Сообщение DrGluck » 11 дек 2010, 15:56

для ТР24 есть код для васика под авр, когда придут попробую.
у автора вроде всё работает.


Быть может любопытно будет прочесть такой материал по TR24
http://wasm.ru/forum/viewtopic.php?pid=395391
эти в прошлом :)
http://www.terraelectronica.ru/board/index.php?showtopic=1043&st=0
http://forum.ixbt.com/topic.cgi?id=48:7870-7
"(С) Ищущий вечно, однажды найдя, то, что искал бесконечно,
Мимо прошёл, совершенно беспечно, С кем-то о вечном шутя..."
Аватара пользователя
DrGluck
 
Сообщения: 64
Зарегистрирован: 14 сен 2010, 17:29
Откуда: Тольятти

Re: Беспроводная сеть

Сообщение capitan blood » 11 дек 2010, 23:41

огромное спасибо всем, кто ответил.. и ещё большее спасибо тем, кто ответил по делу

теперь буду ковыряться по предоставленному материалу
capitan blood
 
Сообщения: 9
Зарегистрирован: 07 июн 2010, 17:01

Re: Беспроводная сеть

Сообщение AnyWay » 14 дек 2010, 10:28

Что-то мне подсказывает, что для дисера логичней использовать виртуального робота. Датчики и сети с любыми параметрами легко задаются програмно. На первом этапе проблемы с железом - лишние. Когда будет реальная программа взаимодействия виртуальных роботов можно будет подобрать оптимальную конфигурацию железа под нее. Если необходимость есть.
AnyWay
 
Сообщения: 96
Зарегистрирован: 16 мар 2010, 17:42
Откуда: Калуга

Re: Беспроводная сеть

Сообщение Duhas » 14 дек 2010, 19:15

ага, внедрение предполагаемых алгоритмы в предполагаемых роботов с предполагаемыми беспроводными сетями ...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Беспроводная сеть

Сообщение chubik » 27 фев 2012, 17:24

Здравствуйте! Пытаюсь связать два модуля TR24F - безрезультатно. Написал код(привожу ниже). По SPI регистры параметрируются, но как-то через раз, читаются отлично. Прерывание при отсылке на передатчике происходит, значит пакет с данными прошел, а вот на приемнике глухо. Регистры 0, 9-16 на стороне приемника и передатчика учтены и поставлены правильно. Помогите найти ошибку.
Пишу на CVAVR под Atmega8

Код: Выделить всё
#define RDY PORTC.4 //27 out
#define SCK PORTC.2 //25 out
#define DAT PORTC.0 // 23 in/out
#define INDAT PINC.0// 23
#define DAT_DDR DDRC.0 // 23
#define EN PORTC.5 //28 out
#define PSB PORTD.1 //3 out
#define INT PIND.2 // 4 in
//#define DRSSI PIND.6

flash unsigned char regs[25]={
0xA8,// 0x28 T/R Channel index
0x03,// Crystal Frequency and RF Power
0x78,// Data Function Control
0x87,// RSSI Function Control
0x20,// RSSI Value
0x0F,// Data format control
0x30,// Multi Burst Packet Repeat Control
0x21,// Power Ramp Control
0x03,// Addres Length
0x02,// Destination Addres 0x34
0x02,// Destination Addres 0x22
0x02,// Destination Addres 0x55
0x00,// Destination Addres
0x00,// Destination Addres
0x01,// Device Addres
0x01,// Device Addres
0x01,// Device Addres
0x00,// Device Addres
0x00,// Device Addres
0x00,// Reserved
0x00,// PLL Pre-Turn-On Time
0xB4,// PLL Lock Time
0x00,// Reserved
0x22,// Option
0x04 // RX Turn On Time
} ;


void spi_access_mode(void)
{
DAT=1;
PSB=1;
EN=1;
RDY=0;
SCK=0;
#asm("nop")
};

void active_mode(void)
{
DAT=1;
PSB=1;
EN=0;
SCK=0;
RDY=1;
#asm("nop")

};

// Output eight-bit value using selected bit-bang pins
void spi_bitbang_out(char value)
{
char x;
for(x=8;x>0;x--){
if(value & 0x80)DAT=1;
else DAT=0;
#asm("nop")
SCK=1;
value<<=1;
#asm("nop")
SCK=0;
#asm("nop")
}
} ;

// Input eight-bit value using selected bit-bang pins
char spi_bitbang_in()
{
unsigned char x=0;
unsigned char y;
x=0;
for(y=8;y>0;y--){
SCK=1;
#asm("nop")
x<<=1;
if(INDAT==1){x|=0b00000001;}
SCK=0;
#asm("nop")

} // Store next bit
return(x);
}

void spi_write_regs(unsigned char addres,unsigned char data)
{
spi_access_mode();
DAT_DDR=1;
spi_bitbang_out(addres|0x80); // Send address
spi_bitbang_out(data); // Send data
EN=0;
} ;

unsigned char spi_read_reg(unsigned char addres)
{ unsigned char data;
spi_access_mode();
DAT_DDR=1;
spi_bitbang_out(addres); // Send address
DAT_DDR=0;
data=spi_bitbang_in(); //read data
EN=0;
return(data);
};


void tr24f_init(void)
{unsigned char y;
for(y=0;y<24;y++)
spi_write_regs(y,regs[y]);
};

unsigned char *fifo_read(unsigned char data_length)
{unsigned char *data, y;
active_mode();
DAT_DDR=0;
for(y=data_length;y>0;y--)
data[y]=spi_bitbang_in();
return(data);
};

void fifo_write(unsigned char *data,unsigned char data_length)
{
unsigned char y;
active_mode();
DAT_DDR=1;
delay_us(20);
spi_bitbang_out(regs[0x09]);
spi_bitbang_out(regs[0x0A]);
spi_bitbang_out(regs[0x0B]);
for(y=data_length;y>0;y--)
spi_bitbang_out(data[y]);
spi_bitbang_out(1);
spi_bitbang_out(1);
spi_bitbang_out(1);
RDY=0;
};
chubik
 
Сообщения: 1
Зарегистрирован: 27 фев 2012, 17:22

Пред.

Вернуться в Коммуникации

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7