Цитата(Mad-man @ Jun 27 2010, 15:43)

Блин, пропали все ((( Зат**ся с этим RF01 ничего не выходит, перепаял антенку,
Не расстраивайтесь раньше времени, сейчас разберемся.
Цитата(Mad-man @ Jun 27 2010, 15:43)

1. Обязательно ли использовать кристал на 10Мгц на avr?
Нет конечно. Я вообще с внутренними RC использовал.
Цитата(Mad-man @ Jun 27 2010, 15:43)

2. Нужно ли использовать ногу DATA? Она на схеме подтянута к VCC, а в коде поднимается
командой DDRB |=(1<<RFXX_DATA); сразу после инициализации чипа!
Нет, если используется FIFO. В этом режиме все управление/обмен данными идет через SPI.
В коде либо не используется FIFO, либо под RFXX_DATA подразумевается MOSI.
Я с RFM01 не закончил, появились более приоритетные дела. Но связь с RFM02 была.
Инициализация RFM01 была такая
Код
#define RFM01_BAUD_2400 ((uint8_t)((344827.58/2400)+0.5)-1)
#define RFM01_BAUD_4800 ((uint8_t)((344827.58/4800)+0.5)-1)
#define RFM01_BAUD_9600 ((uint8_t)((344827.58/9600)+0.5)-1)
#define RFM01_BAUD_19200 ((uint8_t)((344827.58/19200)+0.5)-1)
#define RFM01_BAUD_38400 ((uint8_t)((344827.58/38400)+0.5)-1)
#define RFM01_BAUD_115200 ((uint8_t)((344827.58/115200)+0.5)-1)
#define RFM01FREQ(freq) ((uint16_t)((freq-430.0)/0.0025))
#define RFM01_CONFIG 0x8000
#define RFM01_BANDWIDTH_400KHZ (0x01<<1)
#define RFM01_BANDWIDTH_340KHZ (0x02<<1)
#define RFM01_BANDWIDTH_270KHZ (0x03<<1)
#define RFM01_BANDWIDTH_200KHZ (0x04<<1)
#define RFM01_BANDWIDTH_134KHZ (0x05<<1)
#define RFM01_BANDWIDTH_67KHZ (0x06<<1)
#define RFM01_BAND_315MHZ (0x00<<11)
#define RFM01_BAND_433MHZ (0x01<<11)
#define RFM01_BAND_868MHZ (0x02<<11)
#define RFM01_BAND_915MHZ (0x03<<11)
#define RFM01_CONFIG_DC (0x01<<0)
#define RFM01_CONFIG_EX (0x01<<8)
#define RFM01_SET_FREQ 0xA000
#define RFM01_RX_SETTING 0xC000
#define RFM01_SET_BAUDRATE 0xC800
#define RFM01_FIFO_MODE 0xCE00
#define RFM01_DATA_FILTER 0xC400
#define RFM01_AFC_SETTING 0xC600
Код
RFM01_WrCommand(0x0000);
RFM01_WrCommand(RFM01_CONFIG | RFM01_BAND_433MHZ | RFM01_BANDWIDTH_134KHZ | RFM01_CONFIG_EX);
RFM01_WrCommand(RFM01_SET_FREQ | RFM01FREQ(434.00)); // 434
RFM01_WrCommand(RFM01_SET_BAUDRATE | RFM01_BAUD_4800); // 4800
RFM01_WrCommand(RFM01_AFC_SETTING | 0x0097); // AFC // 0xC69B
RFM01_WrCommand(RFM01_DATA_FILTER | 0x002A); // filter
RFM01_WrCommand(0xC240); // 2Мгц, просто для контроля
RFM01_WrCommand(RFM01_RX_SETTING | 0x0080);
RFM01_WrCommand(RFM01_FIFO_MODE | 0x0084); // FIFO Off
RFM01_WrCommand(RFM01_FIFO_MODE | 0x0087); // FIFO On
Потом в коде включение приема
Код
RFM01_WrCommand(RFM01_RX_SETTING | 0x0081); //
RFM01_WrCommand(RFM01_FIFO_MODE | 0x0088); //
RFM01_WrCommand(RFM01_FIFO_MODE | 0x008B); //
cli();
MCUCR &= ~((1<<ISC11)|(1<<ISC10)); // INT1 - low level interrupt
GICR |= (1<<INT1); // INT1 interrupt enable
GIFR = (1<<INT1); // clear interrupt flag INT1
sei();
nIRQ подключен к INT1 8-ой меги. Тут есть перекрытие инициализации, но это рабочая версия, не законченная и не причесанная. Так что - как есть