Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: АТ+CPBW и кавычки
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
ave!
Пытаюсь разными способами через модуль SIM800 командой АТ+CPBW записать номер в 1 ячейку на SIM-карту и, переставив симку в телефон, увидеть этот номер в телефонной книге. Не получается. Другие команды работают, дозвон по номеру происходит. Что я делаю не так? Может, кто подскажет.

Думаю, проблема в передаче кавычек. Среда CooCox под STM32.

Код
//    send_str("АТ+CPBW=1,«+380971112222»,129,«SOS»");
//    send_str("АТ+CPBW=1,\"+380971112222\",145,\"SOS\"");
    send_str2("АТ+CPBW=1,");
    send_to_uart(34);                // " - 34 (0x22)
    send_str2("+380971112222");
    send_to_uart(34);
    send_str2(",145,");
    send_to_uart(34);
    send_str2("SOS");
    send_to_uart(34);
    send_to_uart('\r');
    send_to_uart('\n');

Код
// Функция отправляет строку в USART
void send_str(char * string) {
    u8 i=0;
    while (string[i]) {
        send_to_uart(string[i]);
        i++;
    }
    send_to_uart('\r');
    send_to_uart('\n');
}

// Функция отправляет строку в USART без '\r\n' (незаконченная строка)
void send_str2(char * string) {
    u8 i=0;
    while (string[i]) {
        send_to_uart(string[i]);
        i++;
    }
}
aleksandr-zh
вначале выбрали SIM как основной носитель?
точно всё согластно даташиту на данную версию ПО модуля?
имел гемор, когда написал софт - всё работает. Обновил прошивку GSM-модема - половина команд оказалась изменена и пришлось снова переписывать свой пользовательский софт
Со скобочками всегда задсада sad.gif
ave!
Цитата(aleksandr-zh @ Jul 10 2015, 06:29) *
вначале выбрали SIM как основной носитель?

Кажется я понял... я читал ваши посты, вы об этом уже писали. Сейчас буду допиливать в этом направлении. Спасибо вам за ответ.

Цитата(aleksandr-zh @ Mar 23 2015, 16:34) *
работаю с sim900d

AT+COPS? ' выдаст имя оператора связи
AT+CMGF=1 ' включить текстовый режим SMS
AT+CSCS= "GSM" ' Кодировка текста GSM (только латинские)
AT+GSMBUSY=0 ' 0 = разрешить входящие
AT+CLIP=1 ' включить АОН
AT+CPBS="SM" ' Выбрать Как Основную Память Сим-карту
AT+DDET=1 ' Включить детектор DTMF

AT+CPBS?" ' чтобы убедиться в правильности выбора: Sim - как основное хранилище
ответ +CPBS: "SM",X,110

AT+CPBR=1 ' Чтение данных. Считывает запись SIM1
ответ +CPBR: 1,"+7...",145,"..."

AT+CPBW=4,"+71234567890",145,«Test» ' записать контакт на сим-карту.

AT+CPMS? ' определим количество SMS на SIM
ответ +CPMS: "SM",7,10,"SM",7,10,"SM",7,10
ave!
Заработало. Еще одну ошибку заметил - в одной из команд "АТ" было набрано русскими буквами.
На счет двойных кавычек, рабочий пример: send_str("AT+CPBW=2,\"+380970000000\",145,\"SOS\"");
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.