|
Помогите разобраться с CC1101, Не получается установить переменную длину пакета |
|
|
|
Feb 25 2009, 11:37
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 14-11-08
Пользователь №: 41 641

|
RF_SETTINGS code rfSettings = { 0x06, // FSCTRL1 Frequency synthesizer control. 0x00, // FSCTRL0 Frequency synthesizer control. 0x10, // FREQ2 Frequency control word, high byte. 0x09, // FREQ1 Frequency control word, middle byte. 0x7B, // FREQ0 Frequency control word, low byte. 0xF5, // MDMCFG4 Modem configuration. 0x75, // MDMCFG3 Modem configuration. 0x13, // MDMCFG2 Modem configuration. 0x22, // MDMCFG1 Modem configuration. 0xE5, // MDMCFG0 Modem configuration. 0x00, // CHANNR Channel number. 0x14, // DEVIATN Modem deviation setting (when FSK modulation is enabled). 0x56, // FREND1 Front end RX configuration. 0x10, // FREND0 Front end TX configuration. 0x18, // MCSM0 Main Radio Control State Machine configuration. 0x16, // FOCCFG Frequency Offset Compensation Configuration. 0x6C, // BSCFG Bit synchronization Configuration. 0x03, // AGCCTRL2 AGC control. 0x40, // AGCCTRL1 AGC control. 0x91, // AGCCTRL0 AGC control. 0xE9, // FSCAL3 Frequency synthesizer calibration. 0x2A, // FSCAL2 Frequency synthesizer calibration. 0x00, // FSCAL1 Frequency synthesizer calibration. 0x1F, // FSCAL0 Frequency synthesizer calibration. 0x59, // FSTEST Frequency synthesizer calibration. 0x81, // TEST2 Various test settings. 0x35, // TEST1 Various test settings. 0x09, // TEST0 Various test settings. 0x07, // FIFOTHR RXFIFO and TXFIFO thresholds. 0x3F, // IOCFG2 GDO2 output pin configuration. 0x06, // IOCFG0D GDO0 output pin configuration. Refer to SmartRFR Studio User Manual for detailed pseudo register explanation. 0x0C, // PKTCTRL1 Packet automation control. 0x05, // PKTCTRL0 Packet automation control. 0x00, // ADDR Device address. 0xFF // PKTLEN Packet length.
Передаю 3 байта. Если ставлю PKTLEN 0х03 и PKTCTRL0 0х04 пакеты приходят .
В приемнике: 0. Инициализация и установка мощности 1. SFRX 2. Пауза 1 мс 3. Вкл. SRX 4. Читаю GDO0 пока не 1 5. Читаю GDO0 пока не 0 6. Проверяю, что RXBYTES не равен 0 7. 3 раза читаю RXFIFO 8. Вывод результата на RS232 9. SIDLE переход на п.1
В передатчике: 0. Инициализация и установка мощности 1. SFTX 2. 3 раза данные в TXFIFO 3. STX 4. Читаю GDO0 пока не 1 5. Читаю GDO0 пока не 0 - Окончание передачи 6. Пауза 1 сек (для вывода в приемнике данных на RS232 ) переход на п.1
Если ставлю в настройках PKTLEN 0хFF и PKTCTRL0 0х05 пакеты не приходят. В чем может быть проблема?
|
|
|
|
|
 |
Ответов
|
Mar 7 2009, 22:25
|

Бывалый
  
Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853

|
Код //38.4kbps nastroyki dlya 26.000 halSpiWriteReg(CCxxx0_FSCTRL1, 0x06); halSpiWriteReg(CCxxx0_FSCTRL0, 0x00); halSpiWriteReg(CCxxx0_FREQ2, 0x10); halSpiWriteReg(CCxxx0_FREQ1, 0xB0); halSpiWriteReg(CCxxx0_FREQ0, 0x71); halSpiWriteReg(CCxxx0_MDMCFG4, 0xCA); halSpiWriteReg(CCxxx0_MDMCFG3, 0x83); halSpiWriteReg(CCxxx0_MDMCFG2, 0x13); halSpiWriteReg(CCxxx0_MDMCFG1, 0xA2); halSpiWriteReg(CCxxx0_MDMCFG0, 0xF0); halSpiWriteReg(CCxxx0_CHANNR, 0x00); halSpiWriteReg(CCxxx0_DEVIATN, 0x34); halSpiWriteReg(CCxxx0_FREND1, 0x56); halSpiWriteReg(CCxxx0_FREND0, 0x10); halSpiWriteReg(CCxxx0_MCSM0 , 0x18); halSpiWriteReg(CCxxx0_FOCCFG, 0x16); halSpiWriteReg(CCxxx0_BSCFG, 0x6C); halSpiWriteReg(CCxxx0_AGCCTRL2, 0x43); halSpiWriteReg(CCxxx0_AGCCTRL1, 0x40); halSpiWriteReg(CCxxx0_AGCCTRL0, 0x91); halSpiWriteReg(CCxxx0_FSCAL3, 0xE9); halSpiWriteReg(CCxxx0_FSCAL2, 0x2A); halSpiWriteReg(CCxxx0_FSCAL1, 0x00); halSpiWriteReg(CCxxx0_FSCAL0, 0x1F); halSpiWriteReg(CCxxx0_FSTEST, 0x59); halSpiWriteReg(CCxxx0_TEST2, 0x81); halSpiWriteReg(CCxxx0_TEST1, 0x35); halSpiWriteReg(CCxxx0_TEST0, 0x09); halSpiWriteReg(CCxxx0_IOCFG2, 0x40); halSpiWriteReg(CCxxx0_IOCFG0, 0x06); halSpiWriteReg(CCxxx0_PKTCTRL1, 0x0C); halSpiWriteReg(CCxxx0_PKTCTRL0, 0x04); halSpiWriteReg(CCxxx0_ADDR, 0x00); halSpiWriteReg(CCxxx0_PKTLEN, 0x08); Под 26.0000МГц и скорость 38,4. У меня работает. Попробуйте, может Вам поможет. Это передача: Код void Send_packet(unsigned char* data, unsigned char len) { P2IE &= ~BIT7;//GDO0 ~IE halSpiStrobe(CCxxx0_SIDLE); halSpiStrobe(CCxxx0_SFTX); halSpiWriteBurstReg(CCxxx0_TXFIFO, data, len); halSpiStrobe(CCxxx0_STX); //while (~GDO0_PIN); // Wait for GDO0 to be set -> sync transmitted //while (GDO0_PIN); // Wait for GDO0 to be cleared -> end of packet while((P2IN&BIT7) == 0); while((P2IN&BIT7) != 0); halSpiStrobe(CCxxx0_SFTX); Receive_packet_int(rx_buff); } А на приём прерывание (мсп430): Код #pragma vector = PORT2_VECTOR __interrupt void PORT2_VECTOR_code() { rx_len=halSpiReadStatus(CCxxx0_RXBYTES); if(rx_len == 0) { halSpiStrobe(CCxxx0_SIDLE); halSpiStrobe(CCxxx0_SFRX); halSpiStrobe(CCxxx0_SRX); rx_rdy=0; } else { halSpiReadBurstReg(CCxxx0_RXFIFO, pointer_receive_buffer, rx_len); halSpiStrobe(CCxxx0_SIDLE); halSpiStrobe(CCxxx0_SFRX); halSpiStrobe(CCxxx0_SRX); if((pointer_receive_buffer[rx_len-1] >= 0x80))//CRC ok { ///////////////////////наши данные правильны и приняты
} }
P2IFG &= ~BIT7;//IF clear }
--------------------
|
|
|
|
Сообщений в этой теме
Igor_O Помогите разобраться с CC1101 Feb 25 2009, 11:37 rx3apf Цитата(Igor_O @ Feb 25 2009, 14:37) Если ... Feb 25 2009, 12:11 Igor_O Получилось! По даташиту думалось, что длину па... Feb 25 2009, 13:48  rx3apf Цитата(Igor_O @ Feb 25 2009, 16:48) Получ... Feb 25 2009, 14:44 Igor_O Никак не получается запустить устойчивый прием/пер... Mar 7 2009, 11:56 Dog Pawlowa Цитата(Igor_O @ Mar 7 2009, 15:56) Никак ... Mar 7 2009, 17:33 Igor_O У Вас в коде кол-во принятых байт не анализируется... Mar 8 2009, 14:33 rx3apf Я бы предложил для начала поиграться с фиксированн... Mar 8 2009, 16:07 Igor_O Разобрался с длиной пакета. Как оказалось все прос... Mar 24 2009, 12:40 rx3apf Цитата(Igor_O @ Mar 24 2009, 15:40) Прием... Mar 24 2009, 13:04 _3m Цитата(Igor_O @ Mar 24 2009, 15:40) ...че... Mar 24 2009, 13:06 Igor_O To rx3apf: Не совсем понял. Задержка после подачи ... Mar 24 2009, 13:24 rx3apf Цитата(Igor_O @ Mar 24 2009, 16:24) To rx... Mar 24 2009, 13:37 rx3apf Цитата(Igor_O @ Mar 24 2009, 16:24) To rx... Mar 24 2009, 13:56  Igor_O Что не делаю - все равно через несколько часов зав... Mar 26 2009, 10:04 Igor_O У меня есть ожидание 0 на SDO. Но поставил несколь... Mar 24 2009, 13:47 Igor_O Пробую читать регистры СС после "отключения... Mar 30 2009, 08:07 anaconda Доброй ночи! У меня проблема таже. Есть две пл... May 5 2009, 19:47 IDL Всем доброго времени суток. Я тоже столкнулся с та... Nov 23 2016, 06:08 IDL Проблема решена. В датахе сказано, что GDO0 устана... Nov 25 2016, 06:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|