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

 
 
> SIM300D CIPSEND - глохнет при большом размере?, При большом пакете бросает CTS и не поднимает
Овец
сообщение Sep 15 2008, 13:04
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 15-09-08
Пользователь №: 40 202



Наблюдаю такой эффект: в режиме TCP при посылке через AT+CIPSEND=size модем иногда наглухо бросает CTS, прекращает принимать команды (даже если игнорировать CTS) и лечится только перезапуском по питанию.

Эффект вероятностный и зависит от длины пакета данных, причем даже не в байтах, а от времени его передачи из контроллера. Например, на 57600 "критический" размер порядка 320 байт, а на 115200 - около 700. На 57600 пакет в 512 байт уже не передается практически никогда, 256 - не удалось поймать на зависании (вероятность маленькая?), а 320-384 раз на раз не приходится.

Вижу на осциллографе, что после команды CIPSEND модем опускает CTS примерно через 100 мс
после начала передачи данных, и это время, похоже, не зависит от размера данных. Собственно, пересылка через UART к этому времени уже закончена.
Потом в норме через несколько десятков мс (после передачи в GSM?) CTS возвращается
обратно. А если зависло - не возвращается.

Это баг в прошивке или я что-то делаю не так?

1008B14SIM300D32_SST34HF3284
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Овец
сообщение Sep 16 2008, 13:12
Сообщение #2





Группа: Новичок
Сообщений: 6
Регистрация: 15-09-08
Пользователь №: 40 202



Проблема побеждена неожиданным образом: после AT+CIPSEND=size<CR> нужно делать паузу или ждать приглашения (AT+CIPSPRT=1).

У меня же было AT+CIPSPRT=0 и команда + данные писались подряд (AT+CIPSEND=size<CR>DATA...).
Go to the top of the page
 
+Quote Post
Alechek
сообщение Sep 24 2008, 11:00
Сообщение #3


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

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(Овец @ Sep 16 2008, 19:12) *
Проблема побеждена неожиданным образом: после AT+CIPSEND=size<CR> нужно делать паузу или ждать приглашения (AT+CIPSPRT=1).

Мда уж... Что лишний раз подтверждает необходимость тщательного прочтения документации!
Цитата(SIM300_ATC_V2.01.pdf @ стр 191)
Execution command
+CIPSEND
response”> ”, then
type data for send,
tap CTRL+Z to
send

Китайцы видимо чего-то не доработали...
Я без всякого приглашения данные посылаю только на +СMGW и прочее. Ровно как написано в мануале.
Go to the top of the page
 
+Quote Post
Овец
сообщение Sep 30 2008, 07:09
Сообщение #4





Группа: Новичок
Сообщений: 6
Регистрация: 15-09-08
Пользователь №: 40 202



Цитата(Alechek @ Sep 24 2008, 15:00) *
Мда уж... Что лишний раз подтверждает необходимость тщательного прочтения документации!


Если бы! В документации написано, что приглашение можно отключать (AT+CIPSPRT=0) и ничего не сказано про паузу. Никаких ограничений при работе без приглашения я не нашел.

"Открытие" было вообще случайным: я стал повторять ситуацию вручную в терминале через copy/paste и скопировал в терминал отдельно команду AT+CIPSEND=1024<CR>, отдельно данные (1024 буквы 'X') - не зависло. Тут-то меня осенило smile.gif Взял, скопировал все вместе одним Ctrl+V - зависло...
Go to the top of the page
 
+Quote Post
Alechek
сообщение Oct 3 2008, 05:17
Сообщение #5


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

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(Овец @ Sep 30 2008, 13:09) *
Если бы! В документации написано, что приглашение можно отключать (AT+CIPSPRT=0) и ничего не сказано про паузу. Никаких ограничений при работе без приглашения я не нашел.

Эх. Я же сказал, что китайцы видимо чего-то не доработали....
В описании команды +CIPSEND нет никаких намеков, о том, что приглашение можно не ждать и его может не быть. С такими вещами надо быть внимательней, чтобы потом не тратить время впустую на поиск "глюков"
Go to the top of the page
 
+Quote Post



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

 


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


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