Перейти к содержанию
    

blox

Участник
  • Постов

    45
  • Зарегистрирован

  • Посещение

Весь контент blox


  1. Спасибо большое! А подскажите от какого модема команда и что она устанавливает, если вам не сложно.
  2. Здравствуйте! Подсмотрел в одном устройстве команду AT+FSEXT=1 ответ ОК при старте устройства, кто может подсказать что за команда? Логично было предположить что это что связано с командой записи в файловую систему, но в доках не могу её найти.
  3. Приветствую! Есть устройство принимающие сигнал от радио датчиков и брелоков в одной модуляции (АМ) с одним битрейтом и обменивающиеся с другими устройствами в другой модуляции и другим битрейтом ( сейчас используется трансивер сс1101 и приемник micrf211). Собственно вопрос : если предположим что будем использовать только сс1101,ему не поплохеет если его переключать между разными модуляциями и разным битрейтом? датчики и брелоки длинна посылки одного повтора 0,12 сек повторов в датчике не менее 5, а при обмене с исполнительными устройствами максимальное время сеанса (запрос ответ) 0,064 сек.
  4. Во общем попробовал, результат тот же
  5. Спасибо большое! попробую отпишусь.
  6. Приветствую, всех! Поиском на форуме пользовался(может плохо искал?) Столкнулся с проблемой запроса баланса на модеме SIM800C Отправляю модему AT+CSCS="GSM" получаю ОК AT+CUSD=1,"*100#",15 приходит +CUSD: 2 жду 10 секунд, но модем молчит. Если вставить симку другого оператора приходит все как надо, если эту симку вставить в телефон или в другой прибор ответ приходит полностью с балансом. Вопрос может ли оператор запретить ussd для данного модема и если да, то насколько? P.S. Да пробовал и простой вариант ATD*100#; и ATD#100#; и AT+CUSD=1,"*100#" и AT+CUSD=1,"#100#" результат +CUSD: 2 и пусто
  7. Выпуск планируется серийно, вандалостойкость минимальна. температурный режим от -20 до +60
  8. Нужно герметизировать устройство, плата помещается в пластиковый корпус без крышки, и заливается, наружу выходит лишь провод.
  9. Здравствуйте! нужен компаунд для заливки платы 100x60 мм и высотой 6-8 мм , пробовал эпоксидкой, качество хромает пузырьки видны(возможно плохо размешано ). Есть опасения что возможен отрыв smd при застывании ( хотя 2 платы после заливки работают). может есть что-то более эластичное чем эпоксидная смола?
  10. Входное напряжение от 12 до 14 В Согласен что не капризный и уровень пульсаций минимальный, но вдруг есть что получше :rolleyes: Был не большой опыт с TPS563200, не понятный выход из строя, возможно разводка, может сами компоненты не ликвид, может лыжи :laughing:
  11. Здравствуйте, всем! собственно вопрос в названии темы, питание не батарейное, пока выбор пал на ST1S10.
  12. AT+CSMP=17,167,0,25 кто какие параметры задает для этой команды ?
  13. Такое происходит когда отправляю несколько сообщении в течении 1-3 минут
  14. Здравствуйте! отправляю смс с модема например 1." тест 1" 2."тест 2" 3."тест 3". а на телефон приходят 1." тест 3" 2."тест 2" 3."тест 1". кто нибудь сталкивался с таким?
  15. Огромное вам Спасибо!!! то что надо!
  16. Здравствуйте, уважаемые! подскажите, сам не нашел, есть ли команда для настройки индикации приема пакета от сервера когда поднято TCP соединение? сейчас при передачи данных на сервер после ответа "SEND OK" приходят данные от сервера, а возможно ли так что модуль будет сообщать что пришело сообщение с сервера( в телите можно увидеть по приему пакета в юарте увидим "SRING").
  17. sx1231 нет приёма

    Здравствуйте!!! подскажите в чем может быть проблема? нет приема сообщения, если поставить максимальную мощность по индикатору напряженности поля вижу что есть передача, а вот приема нет //ÑабоÑа Ñ CCxxx0 #include "sx1231portirovanieH.h" #include "__DELAY_H.h" #include"Mod_UART.h" #include <p24FJ64GA002.h> unsigned char RegistersCfg[] = { // SX1231 configuration registers values DEF_FIFO, // Left for convenience, not to be changed DEF_OPMODE | RF_OPMODE_SEQUENCER_ON | RF_OPMODE_LISTEN_OFF | RF_OPMODE_STANDBY, DEF_DATAMODUL | RF_DATAMODUL_DATAMODE_PACKET | RF_DATAMODUL_MODULATIONTYPE_FSK | RF_DATAMODUL_MODULATIONSHAPING_00, DEF_BITRATEMSB | RF_BITRATEMSB_1200, DEF_BITRATELSB | RF_BITRATELSB_1200, DEF_FDEVMSB | RF_FDEVMSB_5000, DEF_FDEVLSB | RF_FDEVLSB_5000, DEF_FRFMSB | RF_FRFMSB_865, DEF_FRFMID | RF_FRFMID_865, DEF_FRFLSB | RF_FRFLSB_865, DEF_OSC1, DEF_OSC2, DEF_LOWBAT | RF_LOWBAT_OFF | RF_LOWBAT_TRIM_1835, DEF_LISTEN1 | RF_LISTEN1_RESOL_4100 | RF_LISTEN1_CRITERIA_RSSI | RF_LISTEN1_END_01, DEF_LISTEN2 | RF_LISTEN2_COEFIDLE_VALUE, DEF_LISTEN3 | RF_LISTEN3_COEFRX_VALUE, DEF_VERSION, // Read Only DEF_PALEVEL | RF_PALEVEL_PA0_ON | RF_PALEVEL_PA1_OFF | RF_PALEVEL_PA2_OFF | RF_PALEVEL_OUTPUTPOWER_11111, DEF_PARAMP | RF_PARAMP_40, DEF_OCP | RF_OCP_ON | RF_OCP_TRIM_100, DEF_AGCREF | RF_AGCREF_AUTO_ON | RF_AGCREF_LEVEL_MINUS80, DEF_AGCTHRESH1 | RF_AGCTHRESH1_SNRMARGIN_101 | RF_AGCTHRESH1_STEP1_16, DEF_AGCTHRESH2 | RF_AGCTHRESH2_STEP2_3 | RF_AGCTHRESH2_STEP3_11, DEF_AGCTHRESH3 | RF_AGCTHRESH3_STEP4_9 | RF_AGCTHRESH3_STEP5_11, DEF_LNA | RF_LNA_ZIN_200 | RF_LNA_LOWPOWER_OFF | RF_LNA_GAINSELECT_AUTO, DEF_RXBW | RF_RXBW_DCCFREQ_010 | RF_RXBW_MANT_24 | RF_RXBW_EXP_4, DEF_AFCBW | RF_AFCBW_DCCFREQAFC_100 | RF_AFCBW_MANTAFC_20 | RF_AFCBW_EXPAFC_3, DEF_OOKPEAK | RF_OOKPEAK_THRESHTYPE_PEAK | RF_OOKPEAK_PEAKTHRESHSTEP_000 | RF_OOKPEAK_PEAKTHRESHDEC_000, DEF_OOKAVG | RF_OOKAVG_AVERAGETHRESHFILT_10, DEF_OOKFIX | RF_OOKFIX_FIXEDTHRESH_VALUE, DEF_AFCFEI | RF_AFCFEI_AFCAUTOCLEAR_OFF | RF_AFCFEI_AFCAUTO_OFF, DEF_AFCMSB, // Read Only DEF_AFCLSB, // Read Only DEF_FEIMSB, // Read Only DEF_FEILSB, // Read Only DEF_RSSICONFIG | RF_RSSI_FASTRX_OFF, DEF_RSSIVALUE, // Read Only DEF_DIOMAPPING1 | RF_DIOMAPPING1_DIO0_00 | RF_DIOMAPPING1_DIO1_00 | RF_DIOMAPPING1_DIO2_00 | RF_DIOMAPPING1_DIO3_00, DEF_DIOMAPPING2 | RF_DIOMAPPING2_DIO4_00 | RF_DIOMAPPING2_DIO5_01 | RF_DIOMAPPING2_CLKOUT_OFF, DEF_IRQFLAGS1, DEF_IRQFLAGS2, DEF_RSSITHRESH | 228, // Must be set to (-Sensitivity x 2) DEF_RXTIMEOUT1 | RF_RXTIMEOUT1_RXSTART_VALUE, DEF_RXTIMEOUT2 | RF_RXTIMEOUT2_RSSITHRESH_VALUE, DEF_PREAMBLEMSB | RF_PREAMBLESIZE_MSB_VALUE, DEF_PREAMBLELSB | RF_PREAMBLESIZE_LSB_VALUE, DEF_SYNCCONFIG | RF_SYNC_OFF | RF_SYNC_FIFOFILL_AUTO | RF_SYNC_SIZE_4 | RF_SYNC_TOL_0, DEF_SYNCVALUE1 | 0x69, DEF_SYNCVALUE2 | 0x81, DEF_SYNCVALUE3 | 0x7E, DEF_SYNCVALUE4 | 0x96, DEF_SYNCVALUE5 | RF_SYNC_BYTE5_VALUE, DEF_SYNCVALUE6 | RF_SYNC_BYTE6_VALUE, DEF_SYNCVALUE7 | RF_SYNC_BYTE7_VALUE, DEF_SYNCVALUE8 | RF_SYNC_BYTE8_VALUE, DEF_PACKETCONFIG1 | RF_PACKET1_FORMAT_VARIABLE | RF_PACKET1_DCFREE_OFF | RF_PACKET1_CRC_OFF | RF_PACKET1_CRCAUTOCLEAR_ON | RF_PACKET1_ADRSFILTERING_OFF, DEF_PAYLOADLENGTH | 255, DEF_NODEADRS | RF_NODEADDRESS_VALUE, DEF_BROADCASTADRS | RF_BROADCASTADDRESS_VALUE, DEF_AUTOMODES | RF_AUTOMODES_ENTER_OFF | RF_AUTOMODES_EXIT_OFF | RF_AUTOMODES_INTERMEDIATE_SLEEP, DEF_FIFOTHRESH | RF_FIFOTHRESH_TXSTART_FIFONOTEMPTY | RF_FIFOTHRESH_VALUE, DEF_PACKETCONFIG2 | RF_PACKET2_RXRESTARTDELAY_1BIT | RF_PACKET2_AUTORXRESTART_OFF | RF_PACKET2_AES_OFF, DEF_AESKEY1 | RF_AESKEY1_VALUE, DEF_AESKEY2 | RF_AESKEY2_VALUE, DEF_AESKEY3 | RF_AESKEY3_VALUE, DEF_AESKEY4 | RF_AESKEY4_VALUE, DEF_AESKEY5 | RF_AESKEY5_VALUE, DEF_AESKEY6 | RF_AESKEY6_VALUE, DEF_AESKEY7 | RF_AESKEY7_VALUE, DEF_AESKEY8 | RF_AESKEY8_VALUE, DEF_AESKEY9 | RF_AESKEY9_VALUE, DEF_AESKEY10 | RF_AESKEY10_VALUE, DEF_AESKEY11 | RF_AESKEY11_VALUE, DEF_AESKEY12 | RF_AESKEY12_VALUE, DEF_AESKEY13 | RF_AESKEY13_VALUE, DEF_AESKEY14 | RF_AESKEY14_VALUE, DEF_AESKEY15 | RF_AESKEY15_VALUE, DEF_AESKEY16 | RF_AESKEY16_VALUE, DEF_TEMP1 | RF_TEMP1_ADCLOWPOWER_ON, DEF_TEMP2 }; //***************************************************************************** unsigned char txbuff[16]; unsigned char rxbuff[16]; unsigned char LENG; //---------------------------------------------------------------------------------------------------------------------- unsigned char While_SO(void) { unsigned int TWait; TWait=512; while(SO && TWait) { Nop(); TWait--; } if(TWait) return 1; else return 0; } //---------------------------------------------------------------------------------------------------------------------- unsigned char SPI_Byte_RW(unsigned char Data) { unsigned char i; unsigned char Rz; Rz=0; SCLK=0; for(i=0;i<8;i++) { if(Data & 0b10000000) SI=1; else SI=0; Rz<<=1; SCLK=1; if(SO) Rz|=0b00000001; SCLK=0; Data<<=1; } return Rz; } //---------------------------------------------------------------------------------------------------------------------- void halSpiWriteReg(unsigned char Adr,unsigned char Data) { CSN=0; if(While_SO()) { SPI_Byte_RW(Adr | 0b10000000); SPI_Byte_RW(Data); } CSN=1; } //---------------------------------------------------------------------------------------------------------------------- unsigned char halSpiReadReg(unsigned char Addr) { unsigned char X; CSN=0; if(While_SO()) { SPI_Byte_RW(Addr & 0b01111111); X=SPI_Byte_RW(0x00); } else X=0; CSN=1; return X; } //---------------------------------------------------------------------------------------------------------------------- void halSpiStrobe(unsigned char Komm) { CSN=0; if(While_SO()) { halSpiWriteReg(REG_OPMODE, (RegistersCfg[REG_OPMODE] & 0xE3) | Komm); while ((halSpiReadReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00); } CSN=1; } //---------------------------------------------------------------------------------------------------------------------- void halSpiWriteBurstReg(unsigned char Addr,unsigned char *Buffer,unsigned char Count) { unsigned char i; CSN=0; if(While_SO()) { SPI_Byte_RW(Addr | 0b10000000); for(i=0;i<Count;i++) SPI_Byte_RW(Buffer[i]); } CSN=1; } //---------------------------------------------------------------------------------------------------------------------- void halSpiReadBurstReg(unsigned char Addr,unsigned char *buffer,unsigned char count) { unsigned char i; CSN=0; if(While_SO()) { SPI_Byte_RW(Addr | 0b01111111); for(i=0;i<count;i++) buffer[i]=SPI_Byte_RW(0x00); } CSN=1; } //---------------------------------------------------------------------------------------------------------------------- void POWER_UP_RESET_SX1231(void) { unsigned char i; CSN=1; delay_us(1); CSN=0; delay_us(1); CSN=1; i=40; while(i) {delay_us(250); i--; } halSpiStrobe(RF_STANDBY); } //---------------------------------------------------------------------------------------------------------------------- void halRfWriteRfSettings(void) { unsigned char i; for(i = 1; i <= REG_TEMP2; i++) { halSpiWriteReg(i, RegistersCfg[i]); } halSpiStrobe(RF_STANDBY); } //---------------------------------------------------------------------------------------------------------------------- void halRfSendPacket(unsigned char *txBuffer,unsigned char size) { unsigned short Wait; halSpiStrobe(RF_STANDBY); halSpiWriteBurstReg(REG_FIFO, txBuffer, size); halSpiStrobe(RF_TRANSMITTER); Wait=200; // while(Wait) // { // if((halSpiReadReg(REG_IRQFLAGS2)&RF_IRQFLAGS2_PACKETSENT)==0) { delay_us(100); Wait--; } // else break; // Wait for GDO0 to be set -> sync transmitted // } while((halSpiReadReg(REG_IRQFLAGS2)&RF_IRQFLAGS2_PACKETSENT)==0); halSpiStrobe(RF_STANDBY); // halSpiStrobe(RF_RECEIVER); } //---------------------------------------------------------------------------------------------------------------------- unsigned char halRfReceivePacket(unsigned char *rxBuffer) { unsigned char PacketLength; if((halSpiReadReg(REG_IRQFLAGS2) & RF_IRQFLAGS2_FIFONOTEMPTY)) //if((halSpiReadReg(REG_IRQFLAGS2) & RF_IRQFLAGS2_PAYLOADREADY)) { PacketLength = halSpiReadReg(REG_FIFO); if(PacketLength <= LENG) //Read data from RX FIFO and store in rxBuffer { halSpiReadBurstReg(REG_FIFO,rxBuffer,PacketLength); return (1); } else { halSpiStrobe(RF_STANDBY); halSpiStrobe(RF_RECEIVER); return 0; } } else { halSpiStrobe(RF_RECEIVER); return 0; } } // ----------------------------------------------------------------------------- void init_SX1231(void) { SO_TRIS=1; SCLK_TRIS=0; SI_TRIS=0; CSN_TRIS=0; RESET_TRIS=0; CSN=1; RESET_=0; POWER_UP_RESET_SX1231(); halRfWriteRfSettings(); halSpiStrobe(RF_RECEIVER); // LENG=sizeof(rxbuff); } //----------------------------------------------------------------------------- unsigned int ReadRssi(void) { // Must be called while in RX unsigned int value; halSpiWriteReg(REG_RSSICONFIG, RegistersCfg[REG_RSSICONFIG] | RF_RSSI_START); // Triggers RSSI measurement while ((halSpiReadReg(REG_RSSICONFIG) & RF_RSSI_DONE) == 0x00); // Waits for RSSI measurement to be completed value = halSpiReadReg(REG_RSSIVALUE); // Reads the RSSI result return value; } /******************************************************************* ** ReadFei : Triggers FEI measurement and returns its value ** ******************************************************************** ** In : - ** ** Out : value ** *******************************************************************/ signed int ReadFei(void) { // Must be called while in RX signed int value; halSpiWriteReg(REG_AFCFEI, RegistersCfg[REG_AFCFEI] | RF_AFCFEI_FEI_START); // Triggers FEI measurement while ((halSpiReadReg(REG_AFCFEI) & RF_AFCFEI_FEI_DONE) == 0x00); // Waits for FEI measurement to be completed value = ((halSpiReadReg(REG_FEIMSB) << 8) | halSpiReadReg(REG_FEILSB)); // Reads the FEI result return value; } передаю halRfSendPacket((char*)&txbuff,2); принимаю if(halRfReceivePacket(&rxbuff)) { Led_set(&LedState,100,0,2); }
  18. Что-то долго мучился с проблемой, как всегда невнимательность :rolleyes: нужно было убрать чтение RSSI и LQI в функции чтения(она написана для переменной длины пакета) получалось что пакет я уже прочитал, и пытаюсь считать еще два байта unsigned char halRfReceivePacket(unsigned char *rxBuffer,unsigned char *length) //проверка наличия пакета и его чтение { //Defines #define BYTES_IN_RXFIFO 0x7F unsigned char PacketLength; //длина принятого пакета // This status register is safe to read since it will not be updated after // the packet has been received (See the CC1100 and 2500 Errata Note) if((halSpiReadStatus(CCxxx0_RXBYTES) & BYTES_IN_RXFIFO)) //если в RXFIFO есть байты { PacketLength = halSpiReadStatus(CCxxx0_RXBYTES); //Read length byte if(PacketLength == *length) //Read data from RX FIFO and store in rxBuffer { halSpiReadBurstReg(CCxxx0_RXFIFO,rxBuffer,PacketLength); //чтение всех байт пакета *length=PacketLength; //возврат длины прочитанного пакета return (1); } else //длина буфера приема недостаточна { *length = PacketLength; //вернем фактическую длину пакета halSpiStrobe(CCxxx0_SIDLE); // Flush RX FIFO halSpiStrobe(CCxxx0_SFRX); return 0; //пакет не принят } } else return 0; //пакет не принят }
  19. да переделывал функцию приема на фиксированную длину пакета [code]unsigned char halRfReceivePacket(unsigned char *rxBuffer,unsigned char *length) //проверка наличия пакета и его чтение { //Defines #define CRC_OK 0x80 #define RSSI 0 #define LQI 1 #define BYTES_IN_RXFIFO 0x7F unsigned char Status[2]; //статус принятого пакета unsigned char PacketLength; //длина принятого пакета // This status register is safe to read since it will not be updated after // the packet has been received (See the CC1100 and 2500 Errata Note) if((halSpiReadStatus(CCxxx0_RXBYTES) & BYTES_IN_RXFIFO)) //если в RXFIFO есть байты { PacketLength = halSpiReadStatus(CCxxx0_RXBYTES); //Read length byte if(PacketLength <= *length) //Read data from RX FIFO and store in rxBuffer { halSpiReadBurstReg(CCxxx0_RXFIFO,rxBuffer,PacketLength); //чтение всех байт пакета *length=PacketLength; //возврат длины прочитанного пакета // Read the 2 appended status bytes (status[0] = RSSI, status[1] = LQI) halSpiReadBurstReg(CCxxx0_RXFIFO, Status, 2); return (Status[LQI] & CRC_OK); //MSB of LQI is the CRC_OK bit } else //длина буфера приема недостаточна { *length = PacketLength; //вернем фактическую длину пакета // Make sure that the radio is in IDLE state before flushing the FIFO // (Unless RXOFF_MODE has been changed, the radio should be in IDLE state at this point) halSpiStrobe(CCxxx0_SIDLE); // Flush RX FIFO halSpiStrobe(CCxxx0_SFRX); return 0; //пакет не принят } } else return 0; //пакет не принят } не помогло
  20. Спасибо за ответы!!! проблема осталась, при чтении пакета crc совпадает, но данные состоят из мусора, длину возвращает как и должно быть 8 байт пишу так halRfSendPacket((char*)&txbuff,sizeof(txbuff)); void halRfSendPacket(unsigned char *txBuffer,unsigned char size) //собственно передача пакета { unsigned short Wait; //счетчик ожидания halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size); //запись пакета halSpiStrobe(CCxxx0_STX); //запуск передачи Wait=1000; //ждем 1с while(!GDO0 && Wait) { delay_us(10); Wait--; } // Wait for GDO0 to be set -> sync transmitted Wait=1000; //ждем 1с while(GDO0 && Wait) { delay_us(10); Wait--; } // Wait for GDO0 to be cleared -> end of packet } читаю LENG=sizeof(rxbuff); i= halRfReceivePacket((char*) &rxbuff, &LENG); буфферы unsigned char txbuff[8]; unsigned char rxbuff[10]; unsigned char halRfReceivePacket(unsigned char *rxBuffer,unsigned char *length) //проверка наличия пакета и его чтение { //Defines #define CRC_OK 0x80 #define RSSI 0 #define LQI 1 #define BYTES_IN_RXFIFO 0x7F unsigned char Status[2]; //статус принятого пакета unsigned char PacketLength; //длина принятого пакета // This status register is safe to read since it will not be updated after // the packet has been received (See the CC1100 and 2500 Errata Note) if((halSpiReadStatus(CCxxx0_RXBYTES) & BYTES_IN_RXFIFO)) //если в RXFIFO есть байты { PacketLength = halSpiReadReg(CCxxx0_RXFIFO); //Read length byte if(PacketLength <= *length) //Read data from RX FIFO and store in rxBuffer { halSpiReadBurstReg(CCxxx0_RXFIFO,rxBuffer,PacketLength); //чтение всех байт пакета *length=PacketLength; //возврат длины прочитанного пакета // Read the 2 appended status bytes (status[0] = RSSI, status[1] = LQI) halSpiReadBurstReg(CCxxx0_RXFIFO, Status, 2); return (Status[LQI] & CRC_OK); //MSB of LQI is the CRC_OK bit } else //длина буфера приема недостаточна { *length = PacketLength; //вернем фактическую длину пакета // Make sure that the radio is in IDLE state before flushing the FIFO // (Unless RXOFF_MODE has been changed, the radio should be in IDLE state at this point) halSpiStrobe(CCxxx0_SIDLE); // Flush RX FIFO halSpiStrobe(CCxxx0_SFRX); return 0; //пакет не принят } } else return 0; //пакет не принят } не могу понять в чем проблема
  21. Здравствуйте!!! Подскажите кто использовал фиксированную длину пакета передачи данных в этом трансивере, как правильно нужно сконфигурировать сс1100. Когда использую переменную длину пакета всё работает, захотелось использовать FEC а он работает только с фиксированной длиной пакета. const unsigned char rfSettings[][2]= { {CCxxx0_FSCTRL1 ,0x06}, // FSCTRL1 Frequency synthesizer control. {CCxxx0_FSCTRL0 ,0x00}, // FSCTRL0 Frequency synthesizer control. {CCxxx0_FREQ2 ,0x20}, // FREQ2 Frequency control word, high byte. {CCxxx0_FREQ1 ,0x28}, // FREQ1 Frequency control word, middle byte. {CCxxx0_FREQ0 ,0xC5}, // FREQ0 Frequency control word, low byte. {CCxxx0_MDMCFG4 ,0xF6}, // MDMCFG4 Modem configuration. {CCxxx0_MDMCFG3 ,0x75}, // MDMCFG3 Modem configuration. {CCxxx0_MDMCFG2 ,0x72}, // MDMCFG2 Modem configuration. {CCxxx0_MDMCFG1 ,0x22}, // MDMCFG1 Modem configuration. {CCxxx0_MDMCFG0 ,0xE5}, // MDMCFG0 Modem configuration. {CCxxx0_CHANNR ,0x00}, // CHANNR Channel number. {CCxxx0_DEVIATN ,0x00}, // DEVIATN Modem deviation setting (when FSK modulation is enabled). {CCxxx0_FREND1 ,0x56}, // FREND1 Front end RX configuration. {CCxxx0_FREND0 ,0x10}, // FREND0 Front end RX configuration. // {CCxxx0_MCSM1 ,0x33}, // MCSM1 Main Radio Control State Machine configuration. {CCxxx0_MCSM0 ,0x18}, // MCSM0 Main Radio Control State Machine configuration. {CCxxx0_FOCCFG ,0x16}, // FOCCFG Frequency Offset Compensation Configuration. {CCxxx0_BSCFG ,0x6C}, // BSCFG Bit synchronization Configuration. {CCxxx0_AGCCTRL2,0x03}, // AGCCTRL2 AGC control. {CCxxx0_AGCCTRL1,0x40}, // AGCCTRL1 AGC control. {CCxxx0_AGCCTRL0,0x91}, // AGCCTRL0 AGC control. {CCxxx0_FSCAL3 ,0xE9}, // FSCAL3 Frequency synthesizer calibration. {CCxxx0_FSCAL2 ,0x2A}, // FSCAL2 Frequency synthesizer calibration. {CCxxx0_FSCAL1 ,0x00}, // FSCAL1 Frequency synthesizer calibration. {CCxxx0_FSCAL0 ,0x1F}, // FSCAL0 Frequency synthesizer calibration. {CCxxx0_FSTEST ,0x59}, // FSTEST Frequency synthesizer calibration. {CCxxx0_TEST2 ,0x81}, // TEST2 Various test settings. {CCxxx0_TEST1 ,0x35}, // TEST1 Various test settings. {CCxxx0_TEST0 ,0x09}, // TEST0 Various test settings. {CCxxx0_FIFOTHR ,0x07}, // {CCxxx0_IOCFG2 ,0x07}, // IOCFG2 GDO2 output pin configuration. {CCxxx0_IOCFG0 ,0x06}, // IOCFG0D GDO0 output pin configuration. {CCxxx0_PKTCTRL1,0x04}, // PKTCTRL1 Packet automation control. {CCxxx0_PKTCTRL0,0x04}, // PKTCTRL0 Packet automation control. {CCxxx0_ADDR ,0x00}, // ADDR Device address. {CCxxx0_PKTLEN ,0x08} // PKTLEN Packet length. }; передаю 8 байт данных проверка адреса не используеться, длина фиксированая поэтому передаю только полезные 8 байт данных вопросы 1 в pktlen значение должно быть только длина данных или длина + 2 байта rssi и lqi насколько понимаю без двух байт 2 длина пакета фиксированая и сс1100 сам знает длину данных(pktlen), то-есть нулевой байт буффера TX это полезные данные 3 согласно моим настройкам адрес не используеться и я также его непередаю
  22. Спасибо за ответ!!! Хотел использовать для заполнения паузы придётся контроллером музицировать :rolleyes:
  23. Извините!!! Может я не понял чего, но AT+QSRT выбирает одну из 10 мелодий, или я не правильно задал вопрос, возможно ли включить рингтон без входящего звонка? при входяшем вызове рингтон проигрывается и уровень громкости регулируется :rolleyes:
  24. Подскажите пожалуйста!!! возможно ли включать рингтоны в тестовом режиме? если да, то ткните носом в нужное место в документации заранее Спасибо!!!
  25. а можно где нибудь посмотреть пример работы с декодированием DTMF
×
×
  • Создать...