Цитата(_3m @ Aug 2 2008, 00:02)

конфигурирую чип так: RXOFF_MODE=Stay in RX, FEC=ON, Data Whitening=ON, Fixed Packet size, Address check =ON (no braodcast), Autoflush=ON, GDO0 в режиме 0x06. Таймаут приема не используется (делаю процессором).
При посылке нескольких пакетов вывод GDO0 индицирует поступление всех пакетов, однако процессор принимает только первый пакет, последующие пакеты почему-то не принимаются, из регистра RXBYTES для всех пакетов кроме первого считывается ноль. Пакеты передаются без коллизий и с достаточными для приема данных паузами.
====
Судя по тому что написано, все должно работать. Как вариант - неправильный адрес или длина пакета (из-за этого не совпадает контрольная сумма). Может быть не до конца вычитываете из FIFO приемника, но это должно быть видно из RXBYTES. В общем как-то загадочно.
Кстати, контролируйте длину импульсов на GD0 - она должна соответствовать длине пакета начиная с поля адреса. Если импульс короткий - модем не принимает пакет (не совпадает адрес). Если длинный - то адрес в порядке, но может не совпасть CRC (если длину пакета не правильно установили).
На всякий случай - если включаете контроль адреса, то модем приемник принятый адрес кладет в FIFO. Это явно нигде не указано.
Кстати, кодирование с коррекцией ошибок (FEC) и убирание постоянной составляющей (Whitening) вместе можно не использовать. FEC сам по себе убирает длинные постоянные последовательности, потому что еще и перемежение используется.
Как совет на будущее - обязательно корректируйте частоту синтезатора, как написано в одном из AN