реклама на сайте
подробности

 
 
> SIM800 чтение SMS
an24
сообщение May 17 2016, 12:57
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 17-05-16
Пользователь №: 91 771



Привет всем!

Возникла у меня странная ситуация с SIM800.
Ожидаю смс вызовом в цикле AT+CMGR=1,0. Он мне возвращает OK пока смс не принят.
Посылаю смс на номер, после чего uart стоит по таймауту, буфер, естественно пустой.
Кто нибудь встречался с такой бедой? Таймаут 5 сек.

Да, и еще. Если смс отправить до того, как sim зарегистрировался в сети, то все
нормально отрабатывает. Получаем +CMGR: 1,...

Помогите люди добрые. Уже невмоготуууу...

Прошивка 1418B03SIM800C24
Uart на autoban(менял на фикс.скорость - не помогает)
Регистрируюсь в сети обычно.
AT+CFUN=1
AT+CSQ
AT+CPIN?
AT+CREG?
AT+CMGF=1
AT+CSCS="GSM"
AT+CPMS="SM"

M2M, МТС

Сообщение отредактировал an24 - May 17 2016, 12:59
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ArtemKAD
сообщение May 19 2016, 10:59
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата
Очевидно, что тот кто придумал такую обработку URC не разу не программировал в многопоточной среде,


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

Цитата
Нужно было сделать отдельный поток для оповещений.


Зачем? Каждое сообщение от модуля это цельная строка внутрь которой URC никогда не влазит. Принимай строки и обрабатывай каждую по отдельности и да прибудет с тобой шварц. Есть конечно особенности с GPRS, но на них тебе еще рано заглядывать.

Цитата
Вообщем, все чтобы оповещения не блокировали передачу и прием данных через последовательный порт. Грубо, еще один UART, только односторонний.


При таком подходе получаешь отдельный геморрой со вторым UARTом который до недавнего времени был большой редкостью в МК. И ради чего?
Go to the top of the page
 
+Quote Post
an24
сообщение May 19 2016, 15:41
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 17-05-16
Пользователь №: 91 771



Цитата(ArtemKAD @ May 19 2016, 15:59) *
Внутри Sim, сюрприз, многопоточная RTOS в которую, в частности, при желании можно встроить свой поток.

Да знаю я это. Правда примеров использования не видно нигде. А испытателем не хочется быть.

Цитата
Зачем? Каждое сообщение от модуля это цельная строка внутрь которой URC никогда не влазит. Принимай строки и обрабатывай каждую по отдельности и да прибудет с тобой шварц. Есть конечно особенности с GPRS, но на них тебе еще рано заглядывать.

Если без прерываний и ухищрений типа DMA то не получится создать надежный код, который будет писать в UART и читать оттуда. Потому что в любой момент
вам может приехать URC и заблокирует запись. Чтобы повысить надежность мне пришлось перед записью проверять RXNE и читать. Короче, костыль.

Цитата
При таком подходе получаешь отдельный геморрой со вторым UARTом который до недавнего времени был большой редкостью в МК. И ради чего?

А для чего сделали два UART? Не для того ли, чтобы сделать нормальный full duplex?

Цитата(Alechek @ May 19 2016, 16:15) *
Ага, и TCP тоже криво реализовали. Надо было отдельный канал делать для ACK и прочих пакетов...

И модем внешний на 1200 бод тоже опрометчиво сделали с всего с 1-м RS-232.
И MODBUS, CAN и прочие шины тоже дураки проектировали....

Подстройте свое мировоззрение под окружающую реальность. Или, хотя бы, для начала познакомтесь с ней. Никто Вам ничего не должен.


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

У меня опыт программирования 15 лет на хреновой туче языков и такой же туче всяких фреймворков, IDE, библиотек и т.д.
Но то что я увидел в вашей сфере просто удручает. Как будто в 90-Х оказался.

Этот Keil - вчерашний век с текстовым редактором от 6 студии )). ST-link который не может прошить свой же чип.
(а еще его нужно запускать от имени администратора, но перед этим нужно об этом догадаться). Этот OpenOCD,
который просто не работает, а если и работает то только после ковыряния в его коде. А программы, программы...
Все в костылях и подпорках. С глобальными переменными и операторами goto!!! Эти даташиты в которых пишут
примеры с использованием умолчаний. Или просто не пишут примеров. Итак ведь понятно!

Но я парадоксально рад, что познакомился с этой областью, так как убежден, что за M2M,
встроенными системами и т.п. будущее.


P.S. Что же вы не откопаете свой внешний модем. Присоединили бы его к RS 232 и выходили бы в инет.





Цитата(Rash @ May 19 2016, 19:13) *
тему в юмор можно занести, особенно про асинхронное URC порадовало. Любителям готовых скетчей будет особенно трудно, из-за нежелания докапываться до истины.


Я на всякий случай Вам перевод кину Universal Asynchronous Receiver-Transmitter, UART. Так, чтобы поржать на досуге )))



Сообщение отредактировал an24 - May 19 2016, 15:43
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- an24   SIM800 чтение SMS   May 17 2016, 12:57
- - Alechek   Чет так и не понял, в чем проблема и кто стоит. Ес...   May 17 2016, 17:50
|- - an24   Цитата(Alechek @ May 17 2016, 22:50) Чет ...   May 17 2016, 18:09
|- - Alechek   Для начала научитесь выражаться правильно. А то мо...   May 18 2016, 05:17
|- - an24   Цитата(Alechek @ May 18 2016, 10:17) Для ...   May 18 2016, 11:09
- - CADiLO   Чтобы не придумывать для себя проблемы с UART, нав...   May 18 2016, 11:17
|- - an24   Цитата(CADiLO @ May 18 2016, 16:17) Чтобы...   May 18 2016, 12:14
|- - Alechek   Цитата(an24 @ May 18 2016, 17:14) Естеств...   May 18 2016, 17:33
|- - an24   Цитата(Alechek @ May 18 2016, 22:33) Ваш ...   May 19 2016, 04:15
|- - Alechek   Цитата(an24 @ May 19 2016, 09:15) Боротьс...   May 19 2016, 04:26
- - CADiLO   Дык тот кто знаком с принципом приема SMS, в перву...   May 18 2016, 12:59
|- - an24   Цитата(CADiLO @ May 18 2016, 17:59) Дык т...   May 18 2016, 14:12
- - CADiLO   >>>И никто из них даже не упоминает, о то...   May 18 2016, 17:12
- - Rash   Цитата(an24 @ May 19 2016, 07:15) Боротьс...   May 19 2016, 05:40
- - Alechek   Rash, ему еще далеко до этого. Если он не понимает...   May 19 2016, 07:32
|- - an24   Цитата(Alechek @ May 19 2016, 12:32) Rash...   May 19 2016, 08:06
|- - Alechek   Цитата(an24 @ May 19 2016, 13:06) Полагаю...   May 19 2016, 08:45
|- - an24   Цитата(Alechek @ May 19 2016, 13:45) ко...   May 19 2016, 09:07
|- - Alechek   Цитата(an24 @ May 19 2016, 14:07) Нужно б...   May 19 2016, 11:15
- - Rash   тему в юмор можно занести, особенно про асинхронно...   May 19 2016, 14:13
|- - Alechek   Цитата(Rash @ May 19 2016, 19:13) тему в ...   May 19 2016, 16:46
|- - an24   Цитата(Alechek @ May 19 2016, 21:46) +1 Э...   May 19 2016, 16:55
|- - Alechek   Цитата(an24 @ May 19 2016, 21:55) Приколь...   May 20 2016, 07:28
- - ArtemKAD   ЦитатаПотому что в любой момент вам может приехать...   May 19 2016, 15:43
|- - an24   Цитата(ArtemKAD @ May 19 2016, 20:43) С ч...   May 19 2016, 15:58
|- - Baser   Цитата(an24 @ May 19 2016, 18:58) Конечно...   May 19 2016, 16:05
- - Baser   Цитата(an24 @ May 19 2016, 11:06) Я хотел...   May 19 2016, 15:48
- - ArtemKAD   ЦитатаНо в SIM800 он реализован как полудуплексный...   May 19 2016, 16:15
- - an24   Цитата(ArtemKAD @ May 19 2016, 21:15) Или...   May 19 2016, 16:29
|- - ArtemKAD   Цитата(an24 @ May 19 2016, 19:29) Я его в...   May 19 2016, 17:09
- - Baser   Цитата(ArtemKAD @ May 19 2016, 19:15) ЗЫ....   May 19 2016, 16:33
- - ArtemKAD   Цитата(Baser @ May 19 2016, 19:33) Не ста...   May 19 2016, 16:51


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01496 секунд с 7
ELECTRONIX ©2004-2016