Gast
#459569
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