AT Befehle unter C\C++



  • 😕
    Hallo,

    ich würde gerne wissen, wie man unter C/C++ AT Befehle (=Modem Befehle) an Modem senden kann und
    das Ergebnis entspr. in einem bestimmten Datentyp konvertieren kann wie z.B. int oder string.

    Danke im Voraus 🙂



  • Wenn dein Modem an eine RS232-Schnittstelle angeschlossen ist, dann hilft dir das weiter:
    für DOS (16Bit):
    http://www.c-plusplus.net/forum/viewtopic.php?t=45173
    für Konsole oder GUI (32Bit):
    http://www.c-plusplus.net/forum/viewtopic.php?t=39312

    Du brauchst an das Modem dann nur die AT-Befehle als String senden und die Antworten kommen auch als String zurück.

    Wenn das Modem an eine andere Schnittstelle angeschlossen ist, dann weiß ich leider auch nichts genaueres. Möglicherweise könntest du die Schnittstelle aber dann mit deren Namen ansprechen (CreateFile; Zweite URL).



  • Hi!

    Vielen Dank fuer die Hilfe 😉



  • Falls du noch Hilfe bei den AT-Befehlen brauchst, kannst du dich gern an mich wenden. Ich hab schon damit gearbeitet.



  • Hallo AJ,

    alles klar ;-))

    Kannst Du mir vielleicht ein Buch oder ein Tutorial im Internet empfehlen,
    wie man eine serielle Schnittstelle bzw. das Modem mit C ansteuern kann!

    Ich brauche im Prinzip nur zwei Funktion, wie z.B.

    void setATCommand(char* command) z.B. -> setATCommand("atd069123456");

    char* simNr = getATResult(char* command) z.B. -> getATResult("at^scid");

    Vielen Dank 🙂



  • @Reza
    Schau dir mal die zwei Links von mir nochmal an. Da ist eigentlich alles drin was du brauchst. Das was du an die Schnittstelle sendest wird zum Modem weitergesendet.

    Beispiel:

    int zeichen;
    int port;
    
    //COM1 initialisieren (meist verwendete Einstellung)
    port=initcomport(0, 9600, 'N', 8, 1, 0, -1, 100);
    
    if(port>-1)
    {
       sendestring(port, "AT");
       while((zeichen=holbyte(port))!='\n'&&!kbhit())
       {
          putch(zeichen);
       }
       while(kbhit())
          getch();
    
       deinitcomport(port);
    }
    

    Dadurch sendest du den Befehl AT zum Modem, das an COM1 angeschlossen ist, und wartest dann auf Antwort. Diese gibst du gleich aus auf den Bildschirm (kannst die Antwort natürlich auch speichern ;)). Das kbhit() ist nur drin, damit keine Endlosschleife produziert wird und du jederzeit mit einem Tastendruck abbrechen kannst.



  • Danke fuer die rasche Antwort ;-))

    Ich werde mich mit dem Thema auseinander setzen.



  • Danke fuer die rasche Antwort ;-))

    Ich werde mich mit dem Thema auseinander setzen.


Anmelden zum Antworten