Перейти к содержанию
    

АТ+CPBW и кавычки

Пытаюсь разными способами через модуль 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++;
    }
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вначале выбрали SIM как основной носитель?

точно всё согластно даташиту на данную версию ПО модуля?

имел гемор, когда написал софт - всё работает. Обновил прошивку GSM-модема - половина команд оказалась изменена и пришлось снова переписывать свой пользовательский софт

Со скобочками всегда задсада :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вначале выбрали SIM как основной носитель?

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

 

работаю с 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\"");

Изменено пользователем ave!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...