Показать сообщение отдельно
Старый 21.08.2010, 09:39   #1
DarknessPaladin
Пользователь
 
Аватар для DarknessPaladin
 
Регистрация: 01.12.2009
Сообщений: 62
Поблагодарил: 2
Поблагодарили 8 раз за 7 сообщений
Репа: 5
Цитата:
Подскажите, что я делаю не так?
Я не дельфиец, но что-то мне подсказывает, что проблема в том, что вы не дожидаетесь ответа модема.
по уму надо бы между посылками всунуть функцию, которая либо дожидается заданного ответа, либо падает по таймауту... типа так
Код:
функция(ожидаемый ответ,задержка){
 т=таймер
 цикл
  а=читаемпорт()
  если а.содержит(ожидаемый ответ) тогда{
   выходим(результат положительный)
  }
  если таймер меньше (т+задержка) продолжаем цикл
 выходим (таймаут)
}
но можно просто поставить паузу, скажем в 0.1-0.5сек.
------------------------------------------------
Добавлено позже:
Цитата:
Сообщение от jondoor Посмотреть сообщение
кому или чему мало времени для внесения записей в SIM-карту? Вы можете опередить несколько тактов процессора, пока он записывает несколько байт для записной книжки в память симки, послав команду сброса? Чего-то вы перемудрили с мыслями)
самой СИМке мало времени. на ней ОЧЕНЬ медленная память... кто помнит, каково хранить на симке полторы сотни записей, тот вспомнит и то, что после включения телефона минуты полторы-две записная книжка недоступна... это как раз телефон читает записную книжку с СИМ и кэширует её в собственной памяти. А запись во флэш-память ещё медленнее, чем чтение...
по моим данным, запись номера в СИМ занимает от десятков до сотен миллисекунд...
поэтому опередить "несколько тактов" легче лёгкого.

Последний раз редактировалось DarknessPaladin; 21.08.2010 в 09:49. Причина: Сообщения , идущие подряд, объединены.
DarknessPaladin вне форума   Ответить с цитированием Вверх
Следующие пользователи поблагодарили DarknessPaladin за это сообщение:
jondoor (22.08.2010)