ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
308846 Топик полностью
mrengineer (20.02.2012 08:59, просмотров: 151) ответил rezident на Для того, чтобы постить исходники в удобочитаемом виде нужно зарегистрироваться. Или залогиниться, если регистрация уже есть.
resident, спасибо! Почему-то с домашнего компа не мог залогиниться. А вот и исходник  #define BV(n) (1<<n) ... //Участок кода вызывается из цикла в main(): } else if(packetReceived) { /* RADIO SHOULD BE IN RX MODE. + Wait for the RSSI to be valid: * Just having the Radio ON is not enough to read * the correct RSSI value. The Radio must in RX mode for * a certain duration. This duration depends on * the baud rate and the received signal strength itself. */ ReceiveOn(); //вообще, я и так должен быть в RX. Но добавил для гарантии этого... while(!(RF1AIN & BV(1))); //здесь я повисаю signed char rssi_dat = CalculateRssi(ReadSingleReg(RSSI)); RxBufferLength = ReadSingleReg( RXBYTES ); ReadBurstReg(RF_RXFIFORD, RxBuffer, RxBufferLength); printf ("RX %i bytes, RSSI=%i dBm\r", RxBuffer[0], rssi_dat); так вот, без while(!(RF1AIN & BV(1))); я вижу -110dBm (нормальный фон), а с ним висну. Может, кто-нибудь подскажет в чем косяк?