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

 
 
> Вопросы по sim900r64, "хвосты" эха некоторых команд
vassabi
сообщение May 31 2013, 15:33
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 156
Регистрация: 18-02-13
Из: Киев
Пользователь №: 75 678



Столкнулся с такой ситуацией, "хвосты" эха некоторых команд "приезжают" вместе с ответом, например:
AT+CIICR, у меня парсится эхо, алгоритм ждет его 200нс, если эхо валидное - начинаем ждать ответа, который, в данном случае, может приехать и через минуту. Если эха нет по таймауту - считаем модуль зависшим и уходим не алгоритмы перегруза.
ISR ловит конец строки '\n', после этого строка считается принятой и доступной для парсера.
Так вот, по идее эхо и ответ должны выглядеть вот так (хвосты синие):
____________эхо_____________------------------------____ОК___
41 54 2B 43 49 49 43 52 0D 0D 0A ожидание ответа 4F 4B 0D 0A
А в реальности приезжает вот так (кусок хвоста эха красный):
____________эхо________ ---------------------- ______ОК______
41 54 2B 43 49 49 43 52 0D ожидание ответа 0D 0A 4F 4B 0D 0A
Т.е. получается если отлавливать конец строки по '\n', то строка не будет считаться принятой до получения ответа, который прийдет очень не скоро.
Понятно, что можно ловить конец строки и по '\r' (собственно сейчас так и выкрутился), но кроме того, что придется "вЫчитать" остаток хвоста, это еще и через ж..., имхо!

Это же "явление" замечено и на AT+CPOWD, скорее всего есть еще где-то...
И кстати на sim900d было тоже самое!

Хотелось бы понять, знает ли об этом SIMOM и какие у него планы на этот счет? Или это только мне так повезло и у остальных все нормально? sm.gif

з.ы. Пока диагностировал перелопатил весь алгоритм работы... два раза, жаль времени sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jack_avenger
сообщение May 31 2013, 16:49
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 30-06-05
Из: Киев
Пользователь №: 6 426



Как по мне, так 200нс как-то мало даже для 115200. Время передачи одного бита на такой скорости 8680 нс. Но думаю это просто опечатка.
А теперь по сути: если мне не изменяет память, то в конце команды по стандарту должно быть просто <CR>, а не <CR><LF>
Go to the top of the page
 
+Quote Post



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

 


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


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