Цитата(stellar @ Nov 16 2006, 05:37)

Граждане, убъюсь скоро с этим чипконом (
На передачу работает, на приём, ни в какую, уже и так и эдак перепробовал, подскажите в чём может быть ошибка в коде???
Дык как ему на прием-то работать? Вы не успели строб на прием дать как уже полезли за ответом:
Цитата
SPIStrobe(CC1100_SRX);
// while (!TESTBIT( PINC, GD0 ));
// while (TESTBIT( PINC, GD0 ));
if ((SPIReadStatus(CC1100_RXBYTES) & CC1100_NUM_RXBYTES)) // CC1100_NUM_RXBYTES = 0x7F
{
Нужно дождаться когда GD0 переключится, лучше по прерыванию(если конечно GD0 настроена), ну или статус постоянно читать.
Если пустой цикл до приема не критичен и пес выключен,
можете раскомментировать проверку(опять же, если GD0 настроена ):
Цитата
// while (!TESTBIT( PINC, GD0 ));
// while (TESTBIT( PINC, GD0 ));
Еще перед стробом на прием рекомендую почистить фифо( SFRX строб).
И естественно если сумму читаете из буфера, то в настройках добавление суммы в фифо надо включить.
строки len = pktLen не имеют смысла, а вот проверить не превышает ли pktLen размер фифо(-3/-4) не мешает, хотя с большим размером этот код все равно работать не будет, но если len задать больше а GD0 передернется на перегрузку фифо а не конец пакета - можно поймать битый пакет т.к. бит суммы в этом случае не предсказуем(т.к. взят из "левого" байта , ане статуса).