Jump to content

    
artemkad

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

Recommended Posts

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

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

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

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

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

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

 

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

Share this post


Link to post
Share on other sites

 

44 minutes ago, jcxz said:

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

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

22 hours ago, jcxz said:

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

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

8 hours ago, jcxz said:

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

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

 

 

Share this post


Link to post
Share on other sites
1 час назад, artemkad сказал:

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

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

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

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

Цитата

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

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

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

 

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

Share this post


Link to post
Share on other sites
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 — неделимое) операция — операция, которая либо выполняется целиком, либо не выполняется вовсе; операция, которая не может быть частично выполнена и частично не выполнена. ....

 

Share this post


Link to post
Share on other sites
13 минут назад, artemkad сказал:

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

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

Цитата

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

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

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

 

Цитата

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

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

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

Share this post


Link to post
Share on other sites
On 3/30/2020 at 12:02 PM, artemkad said:

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

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

Share this post


Link to post
Share on other sites
3 minutes ago, jcxz said:

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

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

2 hours ago, jcxz said:

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

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

6 minutes ago, jcxz said:

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

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

 

21 minutes ago, jcxz said:

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.