Реализация escape-последовательностей для последовательных устройств - PullRequest
1 голос
/ 01 июля 2010

У меня есть последовательное устройство, подключенное к хосту Linux.Хост должен быть в состоянии обрабатывать стандартные AT-команды.

Мне нужно включить стандартную escape-последовательность AT '+++' для последовательного устройства.повезло найти код.Кто-нибудь знает какие-либо библиотеки с открытым исходным кодом или код, который я могу посмотреть на фактическую реализацию?

Ответы [ 2 ]

0 голосов
/ 01 июля 2010

Должен быть пункт в / dev для порта модема (это было я, так как я делал unix, так что извините за отсутствие подробностей). Вы можете просто открыть его как файл. Напиши ему. Уловка с +++, если вы подключены, заключается в том, что должна быть пауза в 1+ секунды до и после нее - именно так модем узнает, что вы не просто хотели отправить +++ на удаленный конец. Это выведет вас из режима отправки данных в режим AT-команд.

Но модем запускается в командном режиме, пока вы набираете номер.

http://en.wikipedia.org/wiki/Hayes_command_set

могут существовать библиотеки предопределенных функций для обработки набора, повторного набора при сбое и т. Д., Если вы обнаружите, что это слишком низкий уровень. Но это все, с чем мне приходилось работать - много лет назад, когда я последний раз программировал для модема!

0 голосов
/ 01 июля 2010

Взгляните на библиотеку linux mppp. Это модемный номеронабиратель для протокола «точка-точка», использующий набор команд Hayes AT. Исходный код должен дать вам представление о том, как команды обрабатываются и реализуются.

На самом деле вы можете настроить mppp в соответствии с потребностями своего приложения.

http://www.muquit.com/muquit/software/mppp/mppp.html

...