реклама на сайте
подробности

 
 
> Sim900DevIDE - прием СМС
vladimirk68
сообщение Aug 29 2016, 04:49
Сообщение #1





Группа: Участник
Сообщений: 6
Регистрация: 30-10-15
Пользователь №: 89 096



Пытаюсь разобраться с приемом и обработкой СМС в самом модуле SIM900, без дополнительного контроллера. В примерах Sim900DevIDE есть только отправка СМС, это работает. Не могу понять, как правильно использовать EVENT_SMS_IND? СМС приходят, момент приема вижу на UART. Прошивка 1137B04V01SIM900M64_ST_DTMF_JD_EAT.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
Цырен.
сообщение Sep 1 2016, 10:01
Сообщение #2


Евгений
***

Группа: Участник
Сообщений: 341
Регистрация: 13-10-11
Пользователь №: 67 706



Цитата(vladimirk68 @ Aug 29 2016, 08:49) *
Пытаюсь разобраться с приемом и обработкой СМС в самом модуле SIM900, без дополнительного контроллера. В примерах Sim900DevIDE есть только отправка СМС, это работает. Не могу понять, как правильно использовать EVENT_SMS_IND? СМС приходят, момент приема вижу на UART. Прошивка 1137B04V01SIM900M64_ST_DTMF_JD_EAT.

немного офтоп:
Я вам рекомендую начать изучать не устаревшую 900ю серию, а 800ю, а точнее SIM800C (или SIM800C32). В нем поддерживается поддерживается Embedded AT в прошивке 1418B0xSIM800C32_BT_EAT. Образцы и тех.поддержку можно получить у нашего дистрибьютора.
Прикрепленный файл  BT_03_37.pdf ( 590.25 килобайт ) Кол-во скачиваний: 1781


--------------------
Go to the top of the page
 
+Quote Post
bugish
сообщение Sep 1 2016, 12:57
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 7-06-12
Из: Севастополь, Россия
Пользователь №: 72 202



// разрешаем событие
eat_SetSMSIndEvent(TRUE);

// отрабатываем событие
case EVENT_SMS_IND: {
Index_SMS = flEventBuffer.eventData.smsInd_evt.index;
Encode_SMS(Index_SMS, flcurcmd);
}

// вычитываем sms командой AT+CMGR
void Encode_SMS(u8 Index, t_curcmd *curcmd) {

eat_DebugTrace("Incoming SMS Index %d -> ", Index);
updatecmd((u8*)"AT+CMGR\r", curcmd, AT_WRITE);
sprintf((char *)TMP_AT_CMD,"AT+CMGR=%d\r", Index);
eat_SendToModem((u8*)TMP_AT_CMD, sizeof(TMP_AT_CMD));
eat_DebugTrace("%s \r\n",TMP_AT_CMD);

}
// анализируем ответ на команду AT+CMGR
Go to the top of the page
 
+Quote Post
vladimirk68
сообщение Sep 5 2016, 07:15
Сообщение #4





Группа: Участник
Сообщений: 6
Регистрация: 30-10-15
Пользователь №: 89 096



Спасибо за советы!
bugish, Ваш вариант намного изящнее моего (я все-таки научил железку различать СМС и звонок, но дальше пока не двигался).

Не разобрался в нем вот с чем: создал проект на базе примера sms, повставлял в него Ваш пример, компилятор (GCC) выдает предупреждения:

code/fl_customer.c: In function 'Encode_SMS':

code/fl_customer.c:341:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

code/fl_customer.c:343:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

Вначале программы вставил

u8 Index_SMS;
u8 TMP_AT_CMD;

Что я не так сделал?

Торопыга был голодный...

u8 Index_SMS;
char* TMP_AT_CMD;

компилируется нормально.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01449 секунд с 7
ELECTRONIX ©2004-2016