Цитата(Alex B._ @ Aug 2 2008, 00:54)

Судя по тому что написано, все должно работать. Как вариант - неправильный адрес или длина пакета (из-за этого не совпадает контрольная сумма). Может быть не до конца вычитываете из FIFO приемника, но это должно быть видно из RXBYTES. В общем как-то загадочно.
Адрес точно правильный - пробовал отключать проверку адреса, не помогло; кроме того если отвечает только одно устройство (любое) то пакет принимается нормально. Нет приема второго и последующих пакетов.
Цитата(Alex B._ @ Aug 2 2008, 00:54)

Кстати, контролируйте длину импульсов на GD0 - она должна соответствовать длине пакета начиная с поля адреса. Если импульс короткий - модем не принимает пакет (не совпадает адрес). Если длинный - то адрес в порядке, но может не совпасть CRC (если длину пакета не правильно установили).
Длина импульсов на выводе GDO0 идентична для первого пакета, который принимается и последующих, которые не принимаются, она совпадает с длиной и временным положением импульсов передатчика. Выглядит все идеально, но не работает.
Цитата(Alex B._ @ Aug 2 2008, 00:54)

На всякий случай - если включаете контроль адреса, то модем приемник принятый адрес кладет в FIFO. Это явно нигде не указано.
Указано в даташите, я это учитываю.
Цитата(Alex B._ @ Aug 2 2008, 00:54)

...
Как совет на будущее - обязательно корректируйте частоту синтезатора, как написано в одном из AN
Сейчас я это не учитываю но у меня точные кварцы, при отладке проконтролировал значение frequest. AN читал, но не до конца понял как это применить в боевых условиях при работе с множеством подчиненных устройств.
***
Цитата(rx3apf @ Aug 2 2008, 01:20)

А после окончания сеанса приема что в регистре состояния ? Трансивер точно оставался в режиме приема, без всяких там FIFO overflow ?
после приема пакета:
status_byte = 0x1f
pktstatus = 0x26
когда есть сигнал приема пакета GDO0, но RXBYTES=0 значения те же.
Цитата(rx3apf @ Aug 2 2008, 01:20)

Помню, что-то я путался с этим, и вроде пришлось поставить flush FIFO перед приемом.
Ставил. Эффект нулевой. Работает только если делать принудительный перезапуск RX после приема каждого пакета. Любые другие изменения не влияют вообще никак

Цитата(rx3apf @ Aug 2 2008, 01:20)

А длина пакета какая ?
Полезные анные 16 байт включая байт адреса, преамбула 6 байт, синхрослово 30/32бита.
Datarate=55.938721kBaud, Deviation=22.216797KHz, Modulation=2-FSK, RX filterbandwith=101.562500KHz, RF frequency=433.919830MHz, Channel=199.951172, используются каналы 0/1.