Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Телефон не отвечает на AT команды. 
:(
    Опции темы
Coder
Дата 17.8.2006, 04:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 1
Всего: 11



Телефон не отвечает на AT команды.
При попытке "общаться" с ТОЛЬКО ЧТО подключенным телефоном через AT команды возникает непонятная задержа, т.е. отправляю команду он молчит. И так происходит до тех пор пока я его не проинициализирую сторонней программой, например EasyGPRS. В чем проблема, почему моя программа не хочет общаться с телефоном сразу после его подключения.

подключаюсь к телефону, как привидено в примере справочника Win32 Programmers Reference.

Код

// процедура посылки сообщения и чтения ответа
begin
  s := edit2.Text + #13 + #10;
  WriteFile(hCom, PChar(s)^, Length(s), BytesWritten, nil);
  Sleep(500);
  ReadFile(hCom, d^, SizeOf(Tmb),BytesRead,nil);

  s:='';
  i:=1;
  while d^[i]<>#0 do
    begin
      s := s + d^[I];
      inc(i);
    end;

  s:=Utf8ToAnsi(s);
  led(s);  // вывод
end;

PM MAIL   Вверх
Romikgy
Дата 17.8.2006, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



Цитата(Coder @  17.8.2006,  03:43 Найти цитируемый пост)
WriteFile(hCom, PChar(s)^, Length(s), BytesWritten, nil);

без ^ этого попробуй

Добавлено @ 10:29 
Цитата(Coder @  17.8.2006,  03:43 Найти цитируемый пост)
 ReadFile(hCom, d^, SizeOf(Tmb),BytesRead,nil);

здесь также без него и вообще обозначай как переменые обозваны были а то s & d непонятно какого типа


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
maxim1000
Дата 17.8.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: нет
Всего: 110



как насчёт скорости COM-порта?


--------------------
qqq
PM WWW   Вверх
Coder
Дата 18.8.2006, 02:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 1
Всего: 11



Понял, привожу полные примеры листинги:

Код

type
  TMb = array[1..1024] of Char;

var
  hCom : THandle;
  dcb : TDCB;
  hErr : DWORD;
  Succ : boolean;
  s : string;
  d: ^TMb;

begin // подключение
hCom := CreateFile(PChar(Edit1.Text), GENERIC_READ or GENERIC_WRITE,
    {FILE_SHARE_READ     or FILE_SHARE_WRITE}0,    { comm devices must be opened w/exclusive-access }
    nil, { no security attrs }
    OPEN_EXISTING    , { comm devices must use OPEN_EXISTING }
    0,    { not overlapped I/O }
    0  { hTemplate must be NULL for comm devices }
    );
  sleep(1500);

  if (hCom=INVALID_HANDLE_VALUE) then
     begin
       led('Ошибка открытия порта.');
       exit;
     end;

  Succ:=GetCommState(hCom,dcb);

  if not Succ then
    begin
      led('Ошибка 1.');
      exit;
    end;

  dcb.BaudRate:=115200;
  dcb.ByteSize:=8;
  dcb.Parity:=NOPARITY;
  dcb.StopBits:=ONESTOPBIT;

  Succ:=SetCommState(hCom,dcb);

  if not Succ then
    begin
      led('Ошибка 2.');
      exit;
    end;

  led('Успешное подключение');
end;


здесь я привел код как подключаюсь (полностью содрал с Win32 Progr. Pref.). Скорость устанавливаю нормальную - с такой же работает EasyGPRS.
Как видите s, это просто строка. d - массив в динамической памяти (выделять ее не забываю!).

самое интересное что моя программа отлично работает, но после запуска сторонних программ... вообще ниче не пойму - ломаю голову уже 3 дня.
PM MAIL   Вверх
Romikgy
Дата 18.8.2006, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



http://forum.vingrad.ru/index.php?act=modu...amp;section=685

Добавлено @ 07:48 
Цитата(Coder @  18.8.2006,  01:04 Найти цитируемый пост)
самое интересное что моя программа отлично работает, но после запуска сторонних программ...

Вот это я вооще не понял?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Coder
Дата 21.8.2006, 03:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 1
Всего: 11



Цитата(Romikgy @ 18.8.2006,  07:48)
Цитата(Coder @  18.8.2006,  01:04 Найти цитируемый пост)
самое интересное что моя программа отлично работает, но после запуска сторонних программ...

Вот это я вооще не понял?

ну смотри. если после перезапуска компьютера я пытаюсь послать команду телефону через свою программу, то он на нее не отвечает. далее я запускаю EasyGprs - он телефон считыват, а после этого и моя программа начинает корректно получать ответы от телефона.
PM MAIL   Вверх
Romikgy
Дата 21.8.2006, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



Имхо поставь сниффер на ком порт и посмотри что он передает для инициализ. телефона и посмотри как иннит сам порт


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.