Forum: Mikrocontroller und Digitale Elektronik Modem unter C


von Frank (Gast)


Lesenswert?

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

von Meiserl (Gast)


Lesenswert?

Hallo

probier mal AT\n\r

Hast du DTR auf dem Modem beschalten?
>> Wenn nein AT&D0 mit Terminalprog setzen und Parameter mit AT&W speichern.

von Frank (Gast)


Lesenswert?

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".

von Meiserl (Gast)


Lesenswert?

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.

von Jochen (Gast)


Lesenswert?

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.

von Meiserl (Gast)


Lesenswert?

@Jochen

Aber du brauchst einen RS232-Treiber (MAX232).
Warum meinst soll der das Problem sein?

von Jochen (Gast)


Lesenswert?

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

von Meiserl (Gast)


Lesenswert?

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

von Jochen (Gast)


Lesenswert?

Stimmt hab nicht gekreuzt
Danke

von Frank (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.