Цитата(zheka @ Aug 8 2013, 18:44)

У меня одно устройство ведущее, другое ведомое.
Ведомое постоянно висит в приеме. После обработки принятых данных отправляет ведущему ответ.
Ведущий же по таймеру периодически опрашивает ведомого - шлет команду и ждет ответ.
у меня тоже использовался в одних устройствах режим когда ведомые долго висели в режиме приема, однако при подтверждении приема они всетаки переходили в tx.
Как вариант можете сделать такую фишку как переменная, которая периодически инкрементируется-декрементируется таймером раз скажем в 100мс, и если устройство за какой-то промежуток времени не приняло ничего из эфира (но Вы точно знаете что за это время должно было), то тогда переинициализацию радиочасти делать.
Ну это не совсем правильное решение конечно, лучше всетаки найти причину почему не принимает пакет.
Кстати а по логике как у Вас настроено? Пакеты которые принимаются с неправильным CRC убиваются автоматически? У Вас фиксированная длина пакета?
Имею ввиду стоит ли флажок crc_autoflush в регистре 0x07: PKTCTRL ?
Цитата(zheka @ Aug 8 2013, 18:44)

А где это?
регистр 0x17: MCSM1
RXOFF_MODE[1:0] и TXOFF_MODE[1:0]. Если TXOFF_MODE[1:0]=11 и RXOFF_MODE[1:0]=11 то после передачи-приема остается в RX
Сообщение отредактировал Pasha_a13 - Aug 8 2013, 18:43