Вопрос по AT команде
- Войдите на сайт для отправки комментариев
Пт, 29/04/2016 - 04:59
Какой At командой реализовать проверку, взяли ли трубку на том конце?
Какой At командой реализовать проверку, взяли ли трубку на том конце?
Давеча обсуждали в http://arduino.ru/forum/programmirovanie/sim-900-dozvon-do-abonenta-i-peredacha-golosovogo-soobshcheniya
Читал я эту статью. Если написать
gprsSerial.println("ATD+ + номер;");
if(gprsSerial.println("AT+CLCC"))
{
gprsSerial.println(AT+CHUP");
}
Тут хотелось бы, звоним на номер. Если взяли трубку, то сбрасываем. Но у меня, не сбрасывает, а ставит на удержание
Какой смысл имеет эта строка ?
Проверка, принят ли вызов с той стороны, куда звоном.
Проверка ?? Но у функции println() вообще нет возвращаемого значения, что же Вы проверяете ?
Поэтому я тут, чтобы узнать как реализовать
Да и вообще эта функуция вводит ат команду
Мда...
Позвольте совет : попробуйте связаться с пользователем aleks2003 здесь http://arduino.ru/forum/programmirovanie/sim-900-dozvon-do-abonenta-i-peredacha-golosovogo-soobshcheniya, возможно он согласится поделиться своими наработками по AT+CLCC.
Во, а куда моё сообщение делось? :)
Команда serial.println отправляет данные усройству, но не читает ответ устройства. Чтобы прочитать ответ, надо serial.red использовать.
Или дабавить в класс serial свою фунцкию InOut, например. :)
Проверка ?? Но у функции println() вообще нет возвращаемого значения, что же Вы проверяете ?
Как нет? Возвращает количество переданных в поток байтов (тип size_t). Вот это и проверяет :)
Там про работу с терминалом. Я не умею работать с ним.
Проверка ?? Но у функции println() вообще нет возвращаемого значения, что же Вы проверяете ?
Как нет? Возвращает количество переданных в поток байтов (тип size_t). Вот это и проверяет :)
Да, Вы абсолютно правы, я не там (http://arduino.ru/Reference/Serial/Println) смотрел, на самом деле
"print() returns the number of bytes written, though reading that number is optional"
никто не знает?
никто не знает?
Что не знает? Написал же: Команда serial.println отправляет данные усройству, но не читает ответ устройства. Чтобы прочитать ответ, надо serial.red использовать следом. Или дабавить в класс serial свою фунцкию InOut, например. :)
ну, а что надо считать? что отвечает за то, что трубку подняли?
Я не знаю, с голосовыми модемами никогда не ралботал. ATDP после соединения и установления связи выдавало в ответ connect или error, busy, вроде - очень давно это уже было... Кто мешает в терминале подключиться к модему, отправть ему команду и посмотреть что оно в ответ даст при поднятии трубки, при сбросе соединения, при сигнале заняти или абонент не в сети.