Modem-Verbindung zwischen PC und ATmega16

Gast #459569
Lesenswert?
• ▲
▼
Hallo Freunde,
ich hab folgendes Problem und weis jetzt einfach nicht weiter! Nun hoffe 
ich, dass mir jemand von euch weiterhelfen kann!

Und zwar hab ich mir ne kleine Schaltung mit dem ATmega16 gebastelt, der 
über die serielle Schnittstelle mit nem 56k Modem verbunden ist. Das hab 
ich dann an die Telefondose angeschloßen. Den Controller hab ich so 
programmiert, dass er sobald das Klingel-Signal (ASCII-Wort: "RING") 
über die serielle Schnittstelle übertragen wird, den Befehl "ATA" + <cr> 
an das Modem schickt. Das hat nämlich zur Folge, dass ein eingehender 
Anruf abgehoben wird.
Das funktioniert auch alles prima wenn ich über das Hyperterminal meines 
PCs die Telefonnummer anrufe, an der der Controller angeschloßen ist. 
Die Modems syncronisieren sich und dannach steht die Verbindung.

So weit so gut!

Jetzt hab ich mich aber entschloßen für meinen PC ein Einwahlprogramm 
mit Visual Basic 6.0 zu schreiben, dass sich auch mit dem Controller 
verbinden kann. Dafür schicke ich über die serielle Schnittstelle 
folgenden Befehl: "ATD xxxxx" + <cr>. Der Controller erkennt auch das 
jemand anruft und die beiden Modems versuchen sich zu syncronisieren 
(machen lustige Geräusche :-) ).
Bevor sie aber in den Daten-Modus wechseln, trennt das Modem meines 
Controllers sie Verbindung und mein Terminal-Programm empfängt "No 
Carrier"!
Ich denke das liegt bestimmt daran, dass ich im Gegensatz zu dem 
Hyper-Terminal dem Modem bestimmte Initialisierungs-Befehle nicht 
gesendet habe. Kann mir bei dem Problem nicht jemand helfen??

Einstellungen:

uC --> Modem :
Baud,weitere Einst.: 19200 ,N ,8 , 1

PC --> Modem :
Baud,weitere Einst.: 19200 ,N ,8 , 1

Gast #459648
Lesenswert?
• ▲
▼
Hi Michael,
vielen Dank für deine Antwort!
Genau das hab ich gerade gemacht! Und zwar indem ich die Modem-Protokol 
Datei analysiert hab!
Da war dann folgender Initialisierungs-Befehl drin:
AT &F E1 V1 &A3 &D2 &C1 S0=0

Diesen hab ich in mein kleines Terminal-Programm eingebunden und seit 
her kommt ne Verbindung zu stande! Hurra!

Dumm ist jetzt nur noch, dass mein Controller die Dateien die ich im 
schicke richtig versteht aber wenn ich mir was von ihm schicken lasse, 
sind das nur willkürliche Zeichen. Ich gehe mal schwer davon aus, dass 
irgend eine Baudrate nicht richtig eingestellt ist.
Aber warum versteht dann mein Controller, dass was ich schicke??

Was leider auch nicht funktioniert ist, dass ich mit "+++" wieder in den 
Befehlsmodus zurück komme!

Gruß

Daniel

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.