Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено =VVT= 08 ноября 2004 г. 10:55
В ответ на: VVT: (+) отправлено Zman 08 ноября 2004 г. 10:02

В демо-ките было две платки - рф и с AVR, к которой, кстати, вроде как на сайте есть исходники. Сначала сделал связь своего устройства с китом, потом кит благополучшно выбросил и использовал уже свой приемник для работы с другим устройством уже с 2402 только.

А нордик действительно намного проще и по-моему мнению лучше - и преамбулы хватате 4 бит в отличие от 32 чипконовской, и посылки не теряет - хотя проблема, может быть, была в их несовместимости.

Инициализация на приемник (если не сожрется) для разный посылок ниже


void InitTransmitter_2401(void)
{
P1DIR |= BIT4+BIT3+BIT2+BIT1+BIT0;
P1OUT &= ~(BIT4+BIT3+BIT2+BIT1+BIT0);
PowerUp();
CONFIGURATION;
// ShockBurst configuration
// WriteTransmitter(0x8E); // 18 +
// WriteTransmitter(0x08); // 17 +
// WriteTransmitter(0x1C); // 16 +

switch ( ~P4IN & 0x0F )
{
case(2):
WriteTransmitter(48);
WriteTransmitter(48);
break;
case(4):
WriteTransmitter(32);
WriteTransmitter(32);
break;
default:
WriteTransmitter(192);
WriteTransmitter(192);
break;
}
WriteTransmitter(0x00); // 13 Address 2.4 -(00)
WriteTransmitter(0x00); // 12 Address 2.3 -(00)
WriteTransmitter(0x00); // 11 Address 2.2 -(00)
WriteTransmitter(0x00); // 10 Address 2.1 -(00)
WriteTransmitter(0x00); // 9 Address 2.0 -(00
/*
WriteTransmitter(0xAC); // 8 Address 1.4 -(0xAC)
WriteTransmitter(0xDC); // 7 Address 1.3 -(0xCC)
WriteTransmitter(0x66); // 6 Address 1.2 -(0xCC)
WriteTransmitter(0x12); // 5 Address 1.1 -(0xCC)
WriteTransmitter(0x34); // 4 Address 1.0 -(0xCC) 16 bit address 0x1234
*/

switch ( ~P4IN & 0x0F )
{
case(2):
WriteTransmitter(0xb5); // 13 Address 2.4
WriteTransmitter(0xc6); // 12 Address 2.3
WriteTransmitter(0xa2); // 11 Address 2.2
WriteTransmitter(0x12); // 10 Address 2.1
WriteTransmitter(0x34); // 9 Address 2.0
break;
case(4):
WriteTransmitter(0xb5); // 13 Address 2.4
WriteTransmitter(0xc6); // 12 Address 2.3
WriteTransmitter(0xa4); // 11 Address 2.2
WriteTransmitter(0x12); // 10 Address 2.1
WriteTransmitter(0x34); // 9 Address 2.0
break;
default:
WriteTransmitter(0xb5); // 13 Address 2.4
WriteTransmitter(0xc6); // 12 Address 2.3
WriteTransmitter(0xa1); // 11 Address 2.2
WriteTransmitter(0x12); // 10 Address 2.1
WriteTransmitter(0x34); // 9 Address 2.0
break;
}
WriteTransmitter(0xA3); // 16bit crc 40 bit address
// WriteTransmitter(0xA1); // 3 CRC enable 8 bit, address 8 bits [0x21] -(0xA0) 1010 0000
// bit 2-7 ADDR_W: Address width in # of bits, both channels, 40bit
//
// bit 1 CRC Mode: 1=16 bit, *0=8 bit
// bit 0 CRC: 1=enable *0=disable

// General configuration
// WriteTransmitter(0x4F); // 2 power 0 db, crystal 16 MHz, 250 kbps, ShockBurst, 1channel
// WriteTransmitter(0x4C); // 2 power -20 db, crystal 16 MHz, 250 kbps, ShockBurst, 1channel
WriteTransmitter(0x6C); // -20 db 16 MHz 1 mbps

// WriteTransmitter(0x04); // 1 transmit, frequency 2402MHz
// WriteTransmitter(0x05); // receive, frequency 2402MHz
switch ( ~P4IN & 0x0F )
{
case(2):
WriteTransmitter((71<<1)+1); // receive+channel
break;
case(4):
WriteTransmitter((75<<1)+1); // receive+channel
break;
default:
WriteTransmitter((73<<1)+1); // receive+channel
break;
}
STAND_BY;
POWER_DOWN;
}


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru