Modem unter C

Gast #22570
Hi

Ich habe folgendes Problem:
Ich versuche ein Modem mittels AT-Befehle unter C anzusteuern, bloss 
reagiert das Modem nicht auf meine Befehle.
Die Befehle kommen auf jeden Fall beim Modem an.
Kann es sein, dass das Modem den Enter-Befehl nach dem AT-Befehl braucht 
und wenn ja wie muss dieser Enter-Befehl aussehen? (\n habe ich schon 
probiert)

Gruss
Frank
Gast
Danke für deine Antwort

Leider hat das auch nicht funktioniert.

Mein C-Programm muss später auf einem Mikrocontroler
mit einem Com-Port laufen. Wenn ich das Modem mit einem Terminal 
anspreche reagiert es auch wunderbar, bloss wenn ich meinem controler 
sage er soll einen Befehl senden macht er das auch, nur das Modem gibt 
nichts zurück, auch keinen Ton bei zB. "ATD0".
Gast
Hallo

Also ein <CR> mußt du auf jedenfall nachschicken.
Bist du dir sicher das das Modem nichts macht?
Hast du schon mal an der RS232 mitgehorcht?
Das Kabel wird ja auch richtig sein nehme ich an.
UART richtig initialisiert?
Es kann auch sein das du die Zeichen hintereinander zu schnell sendest?
Wenn du statt Modem ein Terminalprog. dranhängst, gehts dann?
Siehst du am Modem die Rxd-LED?

MODEM <----------> µC
            I
            I----> PC

Also ich hab das schon oft gemacht und funktioniert tadellos.
Erst vorige Woche hab ich soetwas mit einem TC35 (Siemens GSM Modem) 
gemacht.

Du kannst ja mal den Source posten.
Gast
Hallo Frank
hast du bei deinem microcontroller einen RS232 Treiber drin. Wenn ja 
dann ist der das Problem.
Hab ich gemerkt als ich zwei boards über RS232 verbinden wollte.
Gast
der Treiber ist dazu da die +15V bzw. -15V vom PC in die für den µC 
verträglichen 0V bzw. 5V umzuwandeln
Mein Modem besitzt auch einen MAX232 hab ich gesehen als ich es mal 
aufgeschraubt hab.
Wie gesagt ich kann nur von meiner eigenen Erfahrung sprechen, und da 
gings nicht mit zwei MAX232 Treiber hintereinander.

µC1 --> MAX232 --> MAX232 --> µC2

SO wie im obigen Schema hab ich die beiden µC BOARDS miteinander 
verbunden und da ging nichts.
Woran das jetzt liegt darfst mich nicht fragen
Gast
Entweder hast den MAX232 falsch verschalten oder ud hast zwischen den 
MAX232 Rxd und Txd nicht ausgekreuzt.
Diese Leitungen solltes du mindestens verwenden:
RXD<----------<TXD
TXD>---------->RXD
GND------------GND
Gast
Hallo alle zusammen

Mein Problem hat sich gelöst!
Der MAX232 war mit einer kalten Löstelle versehen und hatte daher nur 
+/-3 Volt am Ausgang. Das Terminalprogramm hat den Pegel noch erkannt 
das Modem aber nicht.

Vielen Dank noch
Frank

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.