AT команды - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: demanik 
Форум Picbasic.ru » Программирование МК » Proton PicBasic » AT команды (Как применить)
AT команды
vanish Дата: Пт, 30.04.2010, 21:53  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 60
Репутация: 0   ±
Замечания:   ±
На сайте с 08.04.2010

Статус: Offline

Всем привет. Начал изучать Протон, интересная вещь.
Нигде не нашел как вводить АТ команды в программу (для управления сот. телефоном)?
Выложите ,кто может, пожалуйста , любую элементарную программу с использованием АТ команд.
Заранее благодпрен.
ЯНДЕКС Дата: 30.04.2010
brown Дата: Пт, 30.04.2010, 22:54  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 335
Репутация: 10   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

Посмотрите вот этот материал от нашего ADMINа http://www.picbasic.ru/publ/gsm_signalizacija/2-1-0-25

Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
LeXaCH Дата: Вт, 10.08.2010, 20:39  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 33
Репутация: 0   ±
Замечания:   ±
На сайте с 05.01.2010

Статус: Offline

А может кто знает как решить на PICе, после принятие смс прочитать его AT+CMGR=n, а затем сравнить с заранее известным словом, если верный ответ. то выполняем следующую операцию.
sanek Дата: Вс, 22.08.2010, 12:39  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 84
Репутация: 0   ±
Замечания:   ±
На сайте с 09.04.2009

Статус: Offline

Нужен PIC 18-ой серии чтобы можно было сравнивать слова.
ADMIN Дата: Пн, 23.08.2010, 02:41  |                                                                                                                Сообщение # 5
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1096
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Quote
Нужен PIC 18-ой серии чтобы можно было сравнивать слова.

Не обязательно!
Вот пример из той статьи: просто ожидаем нужное нам слово в течение какого-то времени, если нет его, повторим запрос, это - как вариант.

Code

CheckPhone2:
             GoSub TURN_LED '
             HSerOut ["AT+CMGF=0" ,13] '
             HSerIn 500, CheckPhone2,[Wait("OK")]'Ждем ответа от телефона
LeXaCH Дата: Ср, 25.08.2010, 22:29  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 33
Репутация: 0   ±
Замечания:   ±
На сайте с 05.01.2010

Статус: Offline

Со мной поделились кусочком кода расшифровки pdu sms, кто нибудь может его написать только в Protone

Вот код:

void decode_pdu(void) {
char n, length, offset, i, b, mask;
offset = pdu_data[0]+2; //позиция в массиве
length = pdu_data[offset]/2+(pdu_data[offset] % 2);
offset += 2;
sms_orig[0] = length;
//номер телефона, с которого отрправлена SMS'ka
for (i = 0; i < length; i++) sms_orig[i+1] = (pdu_data[i+offset] << 4)|(pdu_data[i+offset] >> 4);
if ((sms_orig[1] & 0xF0) != 0x70) sms_orig[1] = (sms_orig[1] & 0x0F) | 0x70;
offset += length+9;
length = pdu_data[offset++];
if (length > sizeof(sms_message)-1) length = sizeof(sms_message)-1;
n = 0;
b = 0;
mask = 0x3F;
i = 0;
//декодирование сообщения (7 бит - 8 бит)
do {
if (n == 0) sms_message[b] = pdu_data[offset+i] & 0x7F; else {
sms_message[b] = (pdu_data[offset+i-1] >> (8-n))|((pdu_data[offset+i] & mask) << n); //!!!!
mask >>= 1;
}
if (n++ > 5) {
if (++b >= length) break;
sms_message[b] = pdu_data[offset+i] >> 1;
n = 0;
mask = 0x3F;
}
i++;
} while (b++ < length);
sms_message[b] = 0;
}

megavolt85 Дата: Пт, 10.09.2010, 04:27  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 10.01.2010

Статус: Offline

Quote (LeXaCH)
А может кто знает как решить на PICе, после принятие смс прочитать его AT+CMGR=n, а затем сравнить с заранее известным словом, если верный ответ. то выполняем следующую операцию.

читаем смс и побайтно сохраняем в переменные, затем сравниваем. допустим мы получили текст ОСТАТОК, каждая буква занимает байт, делаем сравнение (A,A1,A2,A3,A4,A5,A6 - переменные)
if A="O" and A1="C" and A2="T" and A3="A" и т.д Then goto label (вместо букв в кавычках, должны быть их шестнадцатеричные значения. например точке соответствует значение $2E)
Форум Picbasic.ru » Программирование МК » Proton PicBasic » AT команды (Как применить)
Страница 1 из 11
Поиск: