Страница 1 из 1
NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Пн апр 15, 2019 12:03:05
alex68md
2 недели все было хорошо
сегодня заметил что в SERIAL не приходит RING на SMS
в начале подумал что это только в сериал не приходит но он есть на 10 выводе.
в ходе экспериментов выяснилось что на звонок в сериал приходит RING и на 10 выводе есть низкий уровень
а на смс нет т.е совсем пропал LOW импульс длительностью 30мс на ноге I (10 pin) при входящем смс
ресет модема не помог.
можно на этом модеме обновить прошивку ?
у когото такое было ? как лечили ?
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Вт апр 16, 2019 12:03:50
Dimon456
Что модуль на эту команду ответит (сим-карта должны быть в модуле установлена)
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Ср апр 17, 2019 12:54:17
alex68md
до этого 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 пине

есть какието идеи ?
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Ср апр 17, 2019 14:57:14
Dimon456
alex68md писал(а):есть какието идеи ?
Через что вы sms отправляете, не push уведомление? Попробуйте отправить sms с какого нибудь старого телефона.
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Чт апр 18, 2019 16:12:03
alex68md
с телефона отправляю. и раньше тоже с этого же телефона когда работало
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Пт апр 19, 2019 17:24:53
Dimon456
Телефон телефону рознь.
это две разные команды, внимательно смотрите что вам пишут.
Выполняем в терминале следующее (весь лог с терминала в файл и сюда), удобно использовать терминал-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-номер пришедшего сообщения
Все, весь лог в файл и сюда.
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Пт апр 19, 2019 18:10:34
alex68md
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
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Пт апр 19, 2019 18:32:44
Dimon456
alex68md писал(а):AT+CSCS="UCS2" //но я использую GSM но не суть в данном случае
Суть важна, еще как важна.
alex68md писал(а)://возращает сообщение
+CMGL: 3,"REC UNREAD","+791791791791","","19/04/18,07:27:36+18"
Hi
далее символы могут быть. Вы должны были выполнить команду
alex68md писал(а):Даем команду
AT+CMGR=n где n-номер пришедшего сообщения
Выполните приведенную последовательность команд с полным логом в файл.
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Сб апр 20, 2019 06:26:57
alex68md
Код: Выделить всё
at
OK
AT+CMGF=1
OK
AT+CSCS="UCS2"
OK
AT+CNMI=2,1,0,0,0
OK
+CMTI: "SM",11
AT+CMGR=11
+CMGR: "REC UNREAD","+37379169100","","19/04/20,07:35:26+18"
00480065006C006C006F
OK
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Сб апр 20, 2019 08:07:45
Dimon456
Ну хорошо, а чем этот импульс смотрите?
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Сб апр 20, 2019 16:25:08
alex68md
INT0
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Сб апр 20, 2019 16:41:40
Dimon456
alex68md писал(а):INT0
Код?
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Сб апр 20, 2019 21:12:42
alex68md
Код: Выделить всё
volatile byte flag = 0;
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;
}
void loop() {
while ( Serial.available() ) {
Serial1.write( Serial.read() );
}
while ( Serial1.available() ) {
Serial.write( Serial1.read() );
}
if (flag) {
PORTC ^= (1 << 7);
flag = 0;
sei();
}
}
void blink() {
cli();
flag = 1;
}
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Вс апр 21, 2019 06:18:28
Dimon456
А ни чего другого кроме Леонардо с (atmega32u4?) нет?
К примеру Атмега168/328, ну на крайняк 155/561 ЛА3 ТМ2 .... ?
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Вс апр 21, 2019 20:30:33
alex68md
Есть микро. А что с леонардо не так?
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Пн апр 22, 2019 07:29:28
Dimon456
alex68md писал(а):Есть микро. А что с леонардо не так?
4К лишнего коду.
Значит Amega32u4.
Глянул схему платы ArduinoMicro, INT0 на PD0 сидит D3/SCL
Светодиод PC7 IO13, должен на плате распаян быть.
Открываем ArduinoIDE, выбираем плату Leonardo (Amega32u4), кварц наверное на 16МГц будет стоять.
Грузим код
Спойлер
Код: Выделить всё
#include <util/delay.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#define LED_PORT_DDR DDRC
#define LED_PORT_OUTPUT PORTC
#define LED 7 // LED IO13
#define ON_LED() (LED_PORT_OUTPUT |= (1<<LED)) //включение тестового светодиода
#define OFF_LED() (LED_PORT_OUTPUT &= ~(1<<LED)) //выключение тестового светодиода
// Declare your global variables here
// External Interrupt 0 service routine
ISR(INT0_vect)
{
// Place your code here
ON_LED();
_delay_ms(2000);
OFF_LED();
}
int main(void)
{
// Declare your local variables here
// Crystal Oscillator division factor: 1
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
// Input/Output Ports initialization
// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
// Port C initialization
// Function: Bit7=In Bit6=In
DDRC=(0<<DDC7) | (0<<DDC6);
// State: Bit7=T Bit6=T
PORTC=(0<<PORTC7) | (0<<PORTC6);
// Port D initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=P
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (1<<PORTD0);
// Port E initialization
// Function: Bit6=In Bit2=In
DDRE=(0<<DDE6) | (0<<DDE2);
// State: Bit6=T Bit2=T
PORTE=(0<<PORTE6) | (0<<PORTE2);
// Port F initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit1=In Bit0=In
DDRF=(0<<DDF7) | (0<<DDF6) | (0<<DDF5) | (0<<DDF4) | (0<<DDF1) | (0<<DDF0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit1=T Bit0=T
PORTF=(0<<PORTF7) | (0<<PORTF6) | (0<<PORTF5) | (0<<PORTF4) | (0<<PORTF1) | (0<<PORTF0);
// PLL initialization
// PLL Enabled: Off
PLLCSR=(0<<PINDIV) | (0<<PLLE) | (0<<PLOCK);
PLLFRQ=(0<<PINMUX) | (0<<PLLUSB) | (0<<PLLTM1) | (0<<PLLTM0) | (0<<PDIV3) | (0<<PDIV2) | (0<<PDIV1) | (0<<PDIV0);
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (0<<CS00);
TCNT0=0x00;
OCR0A=0x00;
OCR0B=0x00;
// 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
// Set Timer4 synchronous operation
PLLFRQ&=(1<<PINMUX) | (1<<PLLUSB) | (0<<PLLTM1) | (0<<PLLTM0) | (1<<PDIV3) | (1<<PDIV2) | (1<<PDIV1) | (1<<PDIV0);
TCCR4A=(0<<COM4A1) | (0<<COM4A0) | (0<<COM4B1) | (0<<COM4B0) | (0<<FOC4A) | (0<<FOC4B) | (0<<PWM4A) | (0<<PWM4B);
TCCR4B=(0<<PWM4X) | (0<<PSR4) | (0<<DTPS41) | (0<<DTPS40) | (0<<CS43) | (0<<CS42) | (0<<CS41) | (0<<CS40);
TCCR4C=(0<<COM4A1S) | (0<<COM4A0S) | (0<<COM4B1S) | (0<<COM4B0S) | (0<<COM4D1) | (0<<COM4D0) | (0<<FOC4D) | (0<<PWM4D);
TCCR4D=(0<<FPIE4) | (0<<FPEN4) | (0<<FPNC4) | (0<<FPES4) | (0<<FPAC4) | (0<<FPF4) | (0<<WGM41) | (0<<WGM40);
TCCR4E=(0<<TLOCK4) | (0<<ENHC4) | (0<<OC4OE5) | (0<<OC4OE4) | (0<<OC4OE3) | (0<<OC4OE2) | (0<<OC4OE1) | (0<<OC4OE0);
TC4H=0x00;
TCNT4=0x00;
TC4H=0x00;
OCR4A=0x00;
TC4H=0x00;
OCR4B=0x00;
TC4H=0x00;
OCR4C=0x00;
TC4H=0x00;
OCR4D=0x00;
DT4=0x00;
// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0);
// Timer/Counter 1 Interrupt(s) initialization
TIMSK1=(0<<ICIE1) | (0<<OCIE1C) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1);
// Timer/Counter 3 Interrupt(s) initialization
TIMSK3=(0<<ICIE3) | (0<<OCIE3C) | (0<<OCIE3B) | (0<<OCIE3A) | (0<<TOIE3);
// Timer/Counter 4 Interrupt(s) initialization
TIMSK4=(0<<OCIE4D) | (0<<OCIE4A) | (0<<OCIE4B) | (0<<TOIE4);
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Falling Edge
// INT1: Off
// INT2: Off
// INT3: Off
// INT6: Off
EICRA=(0<<ISC31) | (0<<ISC30) | (0<<ISC21) | (0<<ISC20) | (0<<ISC11) | (0<<ISC10) | (1<<ISC01) | (0<<ISC00);
EICRB=(0<<ISC61) | (0<<ISC60);
EIMSK=(0<<INT6) | (0<<INT3) | (0<<INT2) | (0<<INT1) | (1<<INT0);
EIFR=(0<<INTF6) | (0<<INTF3) | (0<<INTF2) | (0<<INTF1) | (1<<INTF0);
// PCINT0 interrupt: Off
// PCINT1 interrupt: Off
// PCINT2 interrupt: Off
// PCINT3 interrupt: Off
// PCINT4 interrupt: Off
// PCINT5 interrupt: Off
// PCINT6 interrupt: Off
// PCINT7 interrupt: Off
PCMSK0=(0<<PCINT7) | (0<<PCINT6) | (0<<PCINT5) | (0<<PCINT4) | (0<<PCINT3) | (0<<PCINT2) | (0<<PCINT1) | (0<<PCINT0);
PCICR=(0<<PCIE0);
// USART1 initialization
// USART1 disabled
UCSR1B=(0<<RXCIE1) | (0<<TXCIE1) | (0<<UDRIE1) | (0<<RXEN1) | (0<<TXEN1) | (0<<UCSZ12) | (0<<RXB81) | (0<<TXB81);
// 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);
// ADC initialization
// ADC disabled
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);
// SPI initialization
// SPI disabled
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);
// TWI initialization
// TWI disabled
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);
// 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 подтяжка включена. При старте кода тестовый светодиод загорается и тухнет, остальное в прерывании.
Вот и ловите свой импульс (поверьте, импульс есть), ни чего лишнего.
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Ср апр 24, 2019 05:39:53
alex68md
Димон, код супер

чистый хардкор ничего лишнего

хотя есть же макросы, типо power_all_disable() почему их не исползовать ?
ну а теперь результат:
ситация 1: зачит модем, сразу после включения без предварительной настройки нотификиации CNMI. Даже этот код не помог увидеть низкий уровень. ну и RING по прежнему нету. ну и не удевительно. код красив но там просто прерывания и все остальное отключенно.
ситуация 2: я не знаю что помогло , кодировка UCS2 или еще что, но теперь , RING по прежнему нету и если отключенно CNMI то и низкого нету. но если активируем CNMI с любой кодировкой даже GSM как я. то и мой код и ваш код ловт низкий уровень . чудеса.
спасибо всем!
Re: NEOWAY M590 пропал LOW сигнал на 10 выводе (нога I)
Добавлено: Ср май 29, 2019 16:31:59
alex68md
подскажите пожалуйста что означает первый параметр и его значение? может быть (0-2)
AT+CNMI=2,1,0,0,0
а то читаю но до конца понять не могу