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

 
 
> adl_atCmdSend()., Не работает с командой ATD.
kav
сообщение Apr 7 2009, 04:01
Сообщение #1





Группа: Новичок
Сообщений: 10
Регистрация: 9-12-08
Пользователь №: 42 313



Добрый день, всем.
Может кто сталкивался с такой проблемой.
Вызывается adl_atCmdSend(). С любой другой AT командой работает, а вот с ATD отказывается. Как быть?
На экране гипертерминала выдается +CME ERROR: 515(Идет инициализация) и дальше никакой реакции.
Когда в гипертерминале вручную набираю ATD89012345678, то все нормально дозваниваюсь.
Ниже привожу текст проги.

#include "adl_global.h"

s16 ATI_Response_Handler(adl_atResponse_t *paras)
{
adl_atSendResponse ( ADL_AT_UNS, paras->StrData );
return FALSE;
}

void adl_main ( adl_InitType_e InitType )
{
if (adl_atCmdSend("ATD89012345678",(adl_atRspHandler_t)ATI_Response_Handler, "*", NULL)== OK)
{adl_atSendResponse ( ADL_AT_UNS, "\r\nadl_atCmdSend - OK.\r\n" );}
else
{adl_atSendResponse ( ADL_AT_UNS, "\r\nadl_atCmdSend - ERROR.\r\n" );}
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
Guest_@Ark_*
сообщение Apr 7 2009, 04:31
Сообщение #2





Guests






Команда ATD (без ";" на конце строки) отличается от других тем, что нормальный ответ на нее будет не ОК, а CONNECT или какой-либо другой при ошибке. И допустимый таймаут (до получения ответа) может быть исчисляться десятками секунд... Возможно, причина в этом...
Go to the top of the page
 
+Quote Post
kav
сообщение Apr 13 2009, 22:31
Сообщение #3





Группа: Новичок
Сообщений: 10
Регистрация: 9-12-08
Пользователь №: 42 313



Разобрались с этой проблемой.Из программы команда выполнялась раньше , чем инициализировалась SIM карта, вот поэтому и была ошибка.
Go to the top of the page
 
+Quote Post

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

 


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


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