Jump to content

    

blox

Участник
  • Content Count

    43
  • Joined

  • Last visited

Community Reputation

0 Обычный

About blox

  • Rank
    Участник

Информация

  • Город
    Array

Recent Profile Visitors

1215 profile views
  1. Приветствую! Есть устройство принимающие сигнал от радио датчиков и брелоков в одной модуляции (АМ) с одним битрейтом и обменивающиеся с другими устройствами в другой модуляции и другим битрейтом ( сейчас используется трансивер сс1101 и приемник micrf211). Собственно вопрос : если предположим что будем использовать только сс1101,ему не поплохеет если его переключать между разными модуляциями и разным битрейтом? датчики и брелоки длинна посылки одного повтора 0,12 сек повторов в датчике не менее 5, а при обмене с исполнительными устройствами максимальное время сеанса (запрос ответ) 0,064 сек.
  2. Во общем попробовал, результат тот же
  3. Спасибо большое! попробую отпишусь.
  4. Приветствую, всех! Поиском на форуме пользовался(может плохо искал?) Столкнулся с проблемой запроса баланса на модеме 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 и пусто
  5. Выпуск планируется серийно, вандалостойкость минимальна. температурный режим от -20 до +60
  6. Нужно герметизировать устройство, плата помещается в пластиковый корпус без крышки, и заливается, наружу выходит лишь провод.
  7. Здравствуйте! нужен компаунд для заливки платы 100x60 мм и высотой 6-8 мм , пробовал эпоксидкой, качество хромает пузырьки видны(возможно плохо размешано ). Есть опасения что возможен отрыв smd при застывании ( хотя 2 платы после заливки работают). может есть что-то более эластичное чем эпоксидная смола?
  8. Входное напряжение от 12 до 14 В Согласен что не капризный и уровень пульсаций минимальный, но вдруг есть что получше :rolleyes: Был не большой опыт с TPS563200, не понятный выход из строя, возможно разводка, может сами компоненты не ликвид, может лыжи :laughing:
  9. Здравствуйте, всем! собственно вопрос в названии темы, питание не батарейное, пока выбор пал на ST1S10.
  10. AT+CSMP=17,167,0,25 кто какие параметры задает для этой команды ?
  11. Такое происходит когда отправляю несколько сообщении в течении 1-3 минут
  12. Здравствуйте! отправляю смс с модема например 1." тест 1" 2."тест 2" 3."тест 3". а на телефон приходят 1." тест 3" 2."тест 2" 3."тест 1". кто нибудь сталкивался с таким?
  13. Огромное вам Спасибо!!! то что надо!
  14. Здравствуйте, уважаемые! подскажите, сам не нашел, есть ли команда для настройки индикации приема пакета от сервера когда поднято TCP соединение? сейчас при передачи данных на сервер после ответа "SEND OK" приходят данные от сервера, а возможно ли так что модуль будет сообщать что пришело сообщение с сервера( в телите можно увидеть по приему пакета в юарте увидим "SRING").
  15. Здравствуйте!!! подскажите в чем может быть проблема? нет приема сообщения, если поставить максимальную мощность по индикатору напряженности поля вижу что есть передача, а вот приема нет //ÑабоÑа Ñ 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); }