2010-07-01 48 views
1

J'ai un périphérique série connecté à un hôte Linux. L'hôte devra être capable de traiter les commandes AT standard.Implémentation de séquences d'échappement pour un périphérique série

J'ai besoin d'inclure la norme AT « +++ » séquence d'échappement pour un périphérique série ..

Je n'ai pas eu beaucoup de chance de trouver le code. Quelqu'un sait-il des bibliothèques open source ou du code que je peux jeter un oeil à la mise en œuvre réelle?

Répondre

0

Jetez un coup d'œil à la bibliothèque linux mppp. Il s'agit d'un numéroteur modem pour le protocole point à point et utilise le jeu de commandes Hayes AT. Le code source devrait vous donner une idée de la manière dont les commandes sont traitées et implémentées.

En fait, vous pourriez personnaliser mppp pour répondre aux besoins de votre application.

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

0

Il devrait y avoir un élément dans/dev pour le port du modem (ce que j'a été longtemps que je l'ai fait unix alors pardonnez-moi pour plus de détails manque). Vous pouvez simplement l'ouvrir comme un fichier. Écrivez-y. Trick avec le +++, si vous êtes connecté, c'est qu'il doit y avoir une pause de 1+ seconde avant et après - c'est ainsi que le modem sait que vous ne voulez pas juste envoyer +++ à l'extrémité distante. Il vous donnera un coup de pied de 'envoi de mode de données' en 'mode de commande AT'.

Mais le modem démarre en mode de commande pendant que vous composez.

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

il peut y avoir des bibliothèques de fonctions prédéfinies pour gérer la numérotation, la renumérotation sur l'échec, etc. si vous trouvez cela trop bas niveau. Mais c'est tout ce que je devais travailler - il y a des éternités quand j'ai programmé pour le modem!

+0

Ouais merci pour la page. Je cherchais un code de référence pour toute la séquence de détection +++. Je préférerais ne pas avoir à réinventer la roue. :) – Tommy