сегодня заметил что в SERIAL не приходит RING на SMS в начале подумал что это только в сериал не приходит но он есть на 10 выводе. в ходе экспериментов выяснилось что на звонок в сериал приходит RING и на 10 выводе есть низкий уровень а на смс нет т.е совсем пропал LOW импульс длительностью 30мс на ноге I (10 pin) при входящем смс ресет модема не помог.
можно на этом модеме обновить прошивку ? у когото такое было ? как лечили ?
до этого CNMI было выключенно, прочитал про нее и ... ...попробовал вашу команду и несколько других AT+CNMI=2,1,0,0,0 OK +CMTI: "SM",2 //пришло смс но без низкого уровня. AT+CNMI=? +CNMI: (0-2),(0-3),(0-3),(0-2),(0-1) AT+CNMA AT+CPMS=? +CPMS: ("MT","ME","SM","BM"),("MT","ME","SM"),("MT","ME","SM","BM") AT+CPMS? +CPMS: "SM",2,35,"SM",2,35,"SM",2,35
пока маленький сдвиг это что в сериал приходит +CMTI: "SM",2 на входящий смс но без низкого уровня на 10 пине есть какието идеи ?
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
это две разные команды, внимательно смотрите что вам пишут. Выполняем в терминале следующее (весь лог с терминала в файл и сюда), удобно использовать терминал-putty, в настройках putty Session>logging>All session output > putty.log
Код:
Последовательно вводим команды AT+CMGF=1 AT+CSCS="UCS2" AT+CNMI=2,1,0,0,0 Отправляем sms с текстом hello
В терминал приходит строка +CMTI: "SM",n где n-номер пришедшего сообщения
Даем команду AT+CMGR=n где n-номер пришедшего сообщения
Dimon456, я и не говорил что это одна команда. в одной текущее состояние в другой перечень доступных аргументов. я же сделал то что вы написали.
Код:
Последовательно вводим команды AT+CMGF=1 OK AT+CSCS="UCS2" //но я использую GSM но не суть в данном случае OK AT+CNMI=2,1,0,0,0 OK Отправляем sms с текстом hello
В терминал приходит строка +CMTI: "SM",n где n-номер пришедшего сообщения
+CMTI: "SM",3 //пришло в монитор смс но низкого уровня на пине по прежнему нет.
Даем команду AT+CMGR=n где n-номер пришедшего сообщения
//возращает сообщение +CMGL: 3,"REC UNREAD","+791791791791","","19/04/18,07:27:36+18" Hi
//еще делал AT&F? ERROR AT&F1 ERROR AT&F0 OK at OK AT&F OK
сброс командой питанием, другой телефон, сим, оператор - не помогло
после всех этих команд только маленькое изменение в виде что в сериал приходит +CMTI: "SM",2 на входящий смс но без низкого уровня на 10 пине о чем я написал в сообщении Ср апр 17, 2019 12:54:17
void setup() { Serial.begin(115200); //This pipes to the serial monitor while(!Serial); Serial1.begin(115200); //This is the UART, pipes to sensors attached to board while(!Serial1);
pinMode(13, OUTPUT); pinMode(3, INPUT); //low level from modem for INT0 attachInterrupt(0, blink, FALLING); EIFR = 3; }
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // OC1C output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off // Compare C Match Interrupt: Off TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<COM1C1) | (0<<COM1C0) | (0<<WGM11) | (0<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; OCR1CH=0x00; OCR1CL=0x00;
// Timer/Counter 3 initialization // Clock source: System Clock // Clock value: Timer3 Stopped // Mode: Normal top=0xFFFF // OC3A output: Disconnected // OC3B output: Disconnected // OC3C output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer3 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off // Compare C Match Interrupt: Off TCCR3A=(0<<COM3A1) | (0<<COM3A0) | (0<<COM3B1) | (0<<COM3B0) | (0<<COM3C1) | (0<<COM3C0) | (0<<WGM31) | (0<<WGM30); TCCR3B=(0<<ICNC3) | (0<<ICES3) | (0<<WGM33) | (0<<WGM32) | (0<<CS32) | (0<<CS31) | (0<<CS30); TCNT3H=0x00; TCNT3L=0x00; ICR3H=0x00; ICR3L=0x00; OCR3AH=0x00; OCR3AL=0x00; OCR3BH=0x00; OCR3BL=0x00; OCR3CH=0x00; OCR3CL=0x00;
// Timer/Counter 4 initialization // Clock: Timer4 Stopped // Mode: Normal top=OCR4C // OC4A output: OC4A=Disc. /OC4A=Disc. // OC4B output: OC4B=Disc. /OC4B=Disc. // OC4D output: OC4D=Disc. /OC4D=Disc. // Fault Protection: Off // Fault Protection Noise Canceler: Off // Fault Protection triggered on Falling Edge // Timer4 Overflow Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off // Compare D Match Interrupt: Off // Fault Protection Interrupt: Off // Dead Time Prescaler: 1 // Dead Time Rising Edge: 0.000 us // Dead Time Falling Edge: 0.000 us
// Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On DIDR1=(0<<AIN0D);
// USB Controller initialization // USB Mode: Disabled // USB Pad Regulator: Off // OTG (VBUS) Pad: Off // VBUS Transition interrupt: Off UHWCON=(0<<UVREGE); USBCON=(0<<USBE) | (0<<FRZCLK) | (0<<OTGPADE) | (0<<VBUSTE); // Clear the interrupt flag USBINT=(0<<VBUSTI);
LED_PORT_DDR |= (1<<LED); /* делаем ножку LED выходом */
ON_LED(); _delay_ms(2000); OFF_LED();
// Global enable interrupts sei();
while (1) { // Place your code here
} return 0; }
Код занимает 572 байта, я проверил код собираетя, USB отключен, на INT0 подтяжка включена. При старте кода тестовый светодиод загорается и тухнет, остальное в прерывании. Вот и ловите свой импульс (поверьте, импульс есть), ни чего лишнего.
Димон, код супер чистый хардкор ничего лишнего хотя есть же макросы, типо power_all_disable() почему их не исползовать ? ну а теперь результат: ситация 1: зачит модем, сразу после включения без предварительной настройки нотификиации CNMI. Даже этот код не помог увидеть низкий уровень. ну и RING по прежнему нету. ну и не удевительно. код красив но там просто прерывания и все остальное отключенно.
ситуация 2: я не знаю что помогло , кодировка UCS2 или еще что, но теперь , RING по прежнему нету и если отключенно CNMI то и низкого нету. но если активируем CNMI с любой кодировкой даже GSM как я. то и мой код и ваш код ловт низкий уровень . чудеса.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения