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

 
 
> 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



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

 


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


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