1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/moluo-tech-AT-Command

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.en.md

AT-команда (V2)

Краткое описание

AT command(V2) — это интерактивный компонент для управления коммуникацией с помощью AT-команд. Он подходит для модемов, модулей Wi-Fi, Bluetooth и других сценариев, в которых используются AT-команды или ASCII-команды для обмена данными по линиям связи. Компонент охватывает большинство форм AT-коммуникации, таких как настройка параметров, запросы, отправка двоичных данных и т. д. Также он поддерживает интерактивное управление пользовательскими командами. Поскольку каждый запрос на команду является асинхронным, компонент также поддерживается в средах без операционной системы. По сравнению с версией V1 новая версия имеет множество оптимизаций в сопоставлении приёма команд, захвате данных переменной длины URC и безопасности памяти, что позволяет ей обрабатывать более сложные приложения продукта.

Особенности

  • Все запросы на команды являются асинхронными и могут выполняться без операционной системы;
  • Поддерживаются однострочные команды, пакетные команды, команды с переменными параметрами и пользовательские AT-команды;
  • Поддерживается тайм-аут ответа на команду, повторная передача ошибок и управление приоритетами;
  • Поддерживается захват сообщений URC (незапрошенных активных первичных) переменной длины;
  • Поддерживается управление коммуникациями нескольких AT-устройств;
  • Поддерживается мониторинг использования памяти и ограничение её использования;
  • Поддерживается управление жизненным циклом запросов на команды и мониторинг статуса выполнения команд в реальном времени.

Системные требования

Чтобы AT-команды могли корректно обмениваться данными, целевая система должна соответствовать следующим требованиям:

  • Поддержка динамической памяти;
  • Ресурсы RAM: не менее 1 КБ (в зависимости от настроек буфера приёма и буфера URC). Рекомендуется для систем, которые могут выделить более 3 КБ памяти.
  • Компилятор: система использует некоторые функции C99 (гибкие массивы, встроенные), поэтому компилятору необходимо включить поддержку C99. Для IAR, GCC они включены по умолчанию, а Keil MDK требует ручного добавления опций компиляции (--c99 --gnu).

Отличия новой версии от версии V1

Версия V1 разделена на два модуля: модуль «at» подходит только для работы в среде ОС, а модуль «at_chat» подходит для работы в среде без операционной системы. В нём используется способ предварительного выделения памяти для управления запросами AT, и ему не требуется поддержка динамической памяти, что также ограничивает область его применения. Версия V2 в основном оптимизирует модуль «at_chat», поддерживает функцию URC, а также усиливает поддержку среды ОС. Поскольку она использует динамическую память для управления запросами на AT-команды, у неё более высокие требования к ресурсам оперативной памяти, но она более удобна в использовании.

Как выбрать Если используемые ресурсы оперативной памяти платформы (например, 8-битные микроконтроллеры) ограничены и используются только для простого AT-обмена данными, то подойдёт версия V1, а если ресурсов достаточно, рекомендуется версия V2.

Начало работы

Ниже приводится краткое введение в использование, состоящее из 4 шагов:

  1. Определение адаптера и установка интерфейса драйвера и буфера
/**
 * @brief AT adapter
 */
static const at_adapter_t at_adapter = {
    .lock          = at_mutex_lock           //Multi-task lock (NULL for non-OS)
    .unlock        = at_mutex_unlock         //Multi-task unlock (NULL for non-OS)
    .write         = at_device_write         //Data write interface (non-blocking)
    .read          = at_device_read          //Data read interface (non-blocking)
    .debug         = at_debug                //Debug print interface (NULL if not needed)
    .recv_bufsize  = 256                       //Receive buffer size (as required)
};
  1. Использование адаптера AT для создания объекта AT-связи
    at_obj_t *at_obj;
    //....
    at_obj = at_obj_create(&at_adapter);
    if (at_obj == NULL) {
        printf("at object create failed\r\n");
    }  
    //...
  1. Добавление запланированной задачи опроса
/**
 * @brief Polling handler
 */
void at_device_process(void)
{
    static unsigned int

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это компонент для управления обменом данными с использованием AT-команд, который подходит для применения в сценариях, где используются Modem, WIFI-модуль или Bluetooth и взаимодействие осуществляется через AT-команды или ASCII-команды в режиме командной строки. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/moluo-tech-AT-Command.git
git@api.gitlife.ru:oschina-mirror/moluo-tech-AT-Command.git
oschina-mirror
moluo-tech-AT-Command
moluo-tech-AT-Command
master