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

Комбинации команд в одной строке для Sim800

2 часа назад, artemkad сказал:

Ну, расскажите нам, что тогда еще GSM-модуль делает по командам?

Я ничего не фантазировал и не выдумывал по поводу того, что там делается в чёрном ящике. Я предполагаю что там делаться может что угодно (в том числе и длительное ожидание каких-то событий). И нигде не писал никаких фантазий типа:

12 часов назад, artemkad сказал:

Да, да, сохранение десятка переменных  в оперативке

в отличие от Вас. Так что не надо перекладывать с больной головы на здоровую!

 

PS: И всё-таки: продолжаем ждать от Вас - где именно, в каком документе сказано про атомарность выполнения команд, переданных одной строкой?

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


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

 

44 minutes ago, jcxz said:

Я ничего не фантазировал и не выдумывал по поводу того, что там делается в чёрном ящике. Я предполагаю что там делаться может что угодно (в том числе и длительное ожидание каких-то событий). И нигде не писал никаких фантазий типа:

Разве? А мне помнится нечто иное:

22 hours ago, jcxz said:

Передаётся строка во внутренний приёмный буфер. А затем команды из этого буфера начинают выполняться. По очереди. По одной. И URC может прийти в любой момент хоть между этими командами. "

Да и тут не хуже:

8 hours ago, jcxz said:

Не говорите ерунды - выполнение AT-команд это не "сохранение десятка переменных  в оперативке".

Впрочем, да, я не рассматриваю модуль как черный ящик. Я рассматриваю его как вполне конкретное устройство с программой кем-то когда-то написанной.

 

 

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


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

1 час назад, artemkad сказал:

Разве? А мне помнится нечто иное:

И что? А как по вашему оно может выполняться?? До символа '\r' (или '\n') модуль выполнять ничего не должен. А значит он должен где-то накапливать чтобы выполнить потом. 

Или вы можете предложить другой разумный алгоритм?

Думаете что эти байты накапливаются не в буфере, а в проводах UART-а и там ждут '\r' или '\n' чтобы сразу вылезти в модуль из проводов и атомарно выполниться?   :biggrin:

Цитата

Да и тут не хуже:

Вобщем ясно - конструктивно разговаривать Вы не умеете, аргументов привести не можете, конкретные вопросы игнорируете и всё сводите на детский уровень "дурак - сам дурак".

Разговаривать с вами далее в таком русле не вижу никакого смысла. Имеющий уши уже давно услышал, имеющий голову - понял.

 

PS: Мнимой атомарности нет даже при выполнении одиночной команды, не то что строки команд. Так что лепить их в строку - занятие бессмысленное, если затеяно ради этого.

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


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

2 hours ago, jcxz said:

Думаете что эти байты накапливаются не в буфере, а в проводах UART-а и там ждут '\r' или '\n' чтобы сразу вылезти в модуль из проводов и атомарно выполниться?

Вопрос там не в буфере, а в том, что было дальше. А точнее:

Quote

По очереди. По одной. И URC может прийти" в любой момент хоть между этими командами.

К примеру, принятое в буфер вполне может разбираться одной не прерываемой ничем задачей, а значит и никаких URC " в любой момент хоть между этими командами" не может быть в принципе.

 

2 hours ago, jcxz said:

конструктивно разговаривать Вы не умеете,

Конструктивно? Это не я тут "Не говорите ерунды" и " Странные у вас представления о работе GSM-модуля..." говорил. Для подобных заявлений вам сперва надо самому знать(а не фантазировать) о чем речь. Для того, что-бы заявлять "Я ничего не фантазировал и не выдумывал по поводу того, что там делается в чёрном ящике." надо сперва о содержимом модуля знать больше чем о черном ящике.  Иначе конструктив сводится к тому, кто более уверенно озвучит собственные фантазии.

 

2 hours ago, jcxz said:

PS: Мнимой атомарности нет даже при выполнении одиночной команды, не то что строки команд.

Может все-же перед тем как с уверенным видом что-то заявлять таки почитаешь о чем речь?

https://ru.wikipedia.org/wiki/Атомарная_операция

Quote

Атомарная (атом от греч. atomos — неделимое) операция — операция, которая либо выполняется целиком, либо не выполняется вовсе; операция, которая не может быть частично выполнена и частично не выполнена. ....

 

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


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

13 минут назад, artemkad сказал:

К примеру, принятое в буфер вполне может разбираться одной не прерываемой ничем задачей, а значит и никаких URC " в любой момент хоть между этими командами" не может быть в принципе.

"Может"? Опять фантазируете о содержимом "чёрного ящика". Может != должно. Вы не знаете как этот ящик устроен внутри. А внутри может быть что угодно и URC могут генериться другими задачами, параллельными задаче парсера входных команд. Или приведите ссылку на документ где указано обратное.

Цитата

Конструктивно? Это не я тут "Не говорите ерунды" и " Странные у вас представления о работе GSM-модуля..." говорил. Для подобных заявлений вам сперва надо самому знать(а не фантазировать) о чем речь.

Для подобных рассуждений мне вполне достаточно моего опыта разработки для разных AT-командных модулей, в том числе и SIMCOM. И я на практике видел то, о чём пишу (URC может прийти в любой момент обработки команды).

Также я умею читать документацию (в отличие от Вас видимо), в коей нигде не упоминается ни о какой мифической атомарности.

 

Цитата

Может все-же перед тем как с уверенным видом что-то заявлять может таки почитаешь о чем речь?

Поздравляю вас с таким вселенским открытием. Хоть что-то прочитали. Вам осталось ещё научиться мануалы читать...

Так где всё-таки про атомарность указано в описании AT-команд SIMCOM?

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


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

On 3/30/2020 at 12:02 PM, artemkad said:

Вполне может - между отправкой настроек и формальным ОК(если там не ОК, то проблема в консерватории и силами программы вряд-ли решаема), а не между разными командами настройки. Т.е. настройки гарантировано модему передадутся все и не возникает ситуация когда приходится обрабатывать URC c наполовину настроенным модемом.

OK передается после успешного выполнения всех команд в строке. Если в процессе был получен URC, то нельзя ничего утверждать о статусе выполнения отдельных команд на этот момент.

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


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

3 minutes ago, jcxz said:

"Может"? Опять фантазируете о содержимом "чёрного ящика".

Ты сам просил моего мнения:

2 hours ago, jcxz said:

А как по вашему оно может выполняться??

Уже успел позабыть?

6 minutes ago, jcxz said:

А внутри может быть что угодно и URC могут генериться другими задачами,

Я так понимаю, это не более чем твои фантазии. 

 

21 minutes ago, jcxz said:

Для подобных рассуждений мне вполне достаточно моего опыта разработки для разных AT-командных модулей, в том числе и SIMCOM

Что-то мне подсказывает - у меня опыта побольше будет

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


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

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

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

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

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

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

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

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

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

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