Никак не могу оживить приемопередатчик cc2530. Хочу сделать простой тест - два устройства XWWK 2530 обмениваются друг с другом пустыми пакетами.
Инициализация (взял из RFStudio):
CODE
void hal_init(void)
{
U0CSR |= 0x80;
/* set 115200 */
U0GCR |= 11; /* BAUD_E */
U0BAUD |= 216; /* BAUD_M */
P0SEL |= 0x3C;
CLKCONCMD = 0;
P1DIR |= 0x3;
hal_cmd2rf(CSP_ISCLEAR);
hal_led_red(0);
hal_led_blue(0);
// Recommended RX settings
TXFILTCFG = 0x09;
AGCCTRL1 = 0x15;
FSCAL1 = 0x00;
FRMCTRL0 = RXMODE(0x3);
FRMCTRL1 = 0x1F;
TXPOWER = 0xD5;
}
{
U0CSR |= 0x80;
/* set 115200 */
U0GCR |= 11; /* BAUD_E */
U0BAUD |= 216; /* BAUD_M */
P0SEL |= 0x3C;
CLKCONCMD = 0;
P1DIR |= 0x3;
hal_cmd2rf(CSP_ISCLEAR);
hal_led_red(0);
hal_led_blue(0);
// Recommended RX settings
TXFILTCFG = 0x09;
AGCCTRL1 = 0x15;
FSCAL1 = 0x00;
FRMCTRL0 = RXMODE(0x3);
FRMCTRL1 = 0x1F;
TXPOWER = 0xD5;
}
Отправка:
CODE
void send_packet(void)
{
unsigned char i;
hal_cmd2rf(CSP_ISFLUSHTX);
RFD = PACKET_LENGTH;
for(i = 0; i < PACKET_LENGTH; i++)
RFD = i;
hal_cmd2rf(CSP_ISTXON);
/* wait TX finished */
while(!(RFIRQF1 & 0x02)) {
printf("busy transmitting\n\r");
}
RFIRQF1 = ~0x02;
}
{
unsigned char i;
hal_cmd2rf(CSP_ISFLUSHTX);
RFD = PACKET_LENGTH;
for(i = 0; i < PACKET_LENGTH; i++)
RFD = i;
hal_cmd2rf(CSP_ISTXON);
/* wait TX finished */
while(!(RFIRQF1 & 0x02)) {
printf("busy transmitting\n\r");
}
RFIRQF1 = ~0x02;
}
Прием:
CODE
enum Error recv_packet_timeout(void)
{
unsigned long i;
hal_cmd2rf(CSP_ISRXON);
hal_cmd2rf(CSP_ISFLUSHRX);
i = 1 << 15;
while(1) {
printf("RSSI = %X\n\r", RSSI);
if (RFIRQF0 & 0x40) {
printf("YRA!!!\n\r");
RFIRQF0 = ~0x40;
break;
}
if (0 == i--) {
return ERR_TIMEOUT;
}
}
return OK;
}
{
unsigned long i;
hal_cmd2rf(CSP_ISRXON);
hal_cmd2rf(CSP_ISFLUSHRX);
i = 1 << 15;
while(1) {
printf("RSSI = %X\n\r", RSSI);
if (RFIRQF0 & 0x40) {
printf("YRA!!!\n\r");
RFIRQF0 = ~0x40;
break;
}
if (0 == i--) {
return ERR_TIMEOUT;
}
}
return OK;
}
На приеме ничего не видно - ни RXPKTDONE, ни FRAME_ACCEPTED. Даже значение RSSI не меняется кодгда включаю или выключаю второе устройство.
Подскажите в чем проблема?
CODE
RSSI = EF RSSISTAT = 1
RSSI = F6 RSSISTAT = 1
RSSI = F8 RSSISTAT = 1
RSSI = F2 RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = EA RSSISTAT = 1
RSSI = EB RSSISTAT = 1
RSSI = F7 RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = F3 RSSISTAT = 1
RSSI = F3 RSSISTAT = 1
RSSI = F8 RSSISTAT = 1
RSSI = F8 RSSISTAT = 1
RSSI = EC RSSISTAT = 1
RSSI = F3 RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = F0 RSSISTAT = 1
RSSI = F8 RSSISTAT = 1
RSSI = EC RSSISTAT = 1
RSSI = F4 RSSISTAT = 1
RSSI = EB RSSISTAT = 1
RSSI = F6 RSSISTAT = 1
RSSI = F8 RSSISTAT = 1
RSSI = F2 RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = EA RSSISTAT = 1
RSSI = EB RSSISTAT = 1
RSSI = F7 RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = F3 RSSISTAT = 1
RSSI = F3 RSSISTAT = 1
RSSI = F8 RSSISTAT = 1
RSSI = F8 RSSISTAT = 1
RSSI = EC RSSISTAT = 1
RSSI = F3 RSSISTAT = 1
RSSI = EF RSSISTAT = 1
RSSI = F0 RSSISTAT = 1
RSSI = F8 RSSISTAT = 1
RSSI = EC RSSISTAT = 1
RSSI = F4 RSSISTAT = 1
RSSI = EB RSSISTAT = 1