Hallo zusammen, Ich versuche von meinem ATMega2561 per RS232 -Schnittstelle AT Kommandos zu einem GSM Modul von Telit zu senden. Das klappt leider nicht. Wenn ich das Kommando vom Mikrocontroller zum Laptop HTerm sende kommt das Kommando richtig an, inkl. CR. Beispiel HTerm empfängt AT\r. Sende ich das Kommando von HTerm zum GSM Modul kommt das Signal an und ein OK kommt zurück. Wieso klappt das vom Mikrocontroller nicht? Vielen Dank im Voraus. Gruß Datatom
Probiere es mal mit "\r\n". Ansonsten: Taktquelle? Signale mit Oszi geprüft?
Jim M. schrieb: > Probiere es mal mit "\r\n". Ansonsten: Taktquelle? Signale mit Oszi > geprüft? \r\n hab ich schon versucht, klappt leider auch nicht. Einen Oszi hab ich leider nicht. Aber die Signale kommen zum Laptop ja an.
Welches Telit Modul isses denn? Und wie verbindest Du die drei Teile miteinander, also: PC <=> Telit PC <=> ATmega Telit <=> ATmega ?
Thomas H. schrieb: > Sende ich das Kommando von HTerm zum GSM Modul kommt das Signal an und > ein OK kommt zurück. > > Wieso klappt das vom Mikrocontroller nicht? Hast du auch das richtige Format? Heisst: Pegelwandler TTL > RS232 am Mikrokontroller? Kurt
Kurt schrieb: > Thomas H. schrieb: > >> Sende ich das Kommando von HTerm zum GSM Modul kommt das Signal an und >> ein OK kommt zurück. >> >> Wieso klappt das vom Mikrocontroller nicht? > > Hast du auch das richtige Format? > Heisst: Pegelwandler TTL > RS232 am Mikrokontroller? > > Kurt Wenn ich den RS232-Stecker am Laptop anschließe, wird der Wert vom Mikrocontroller richtig angezeigt. Ziehe ich den RS232-Stecker vom Laptop ab, und schließe ihn an das GSM-Modul an, passiert nichts. Von daher müsste ja im richtigen Format übertragen werden. Ich übertrage mit folgendem Befehl: printf("AT+CPIN=0000\r"); Darstellung in HTerm: AT+CPIN=0000<\r> <\r> stellen das verkleinerte \r da.
Thomas H. schrieb: > Wenn ich den RS232-Stecker am Laptop anschließe, wird der Wert vom > Mikrocontroller richtig angezeigt. Der Stecker ist Teil des Mikrocontrollers? Am Laptop wird das angezeigt was der Mikro ausgibt? Der Mikro ist also, aus Sicht des Laptop, der Slave. > Ziehe ich den RS232-Stecker vom > Laptop ab, und schließe ihn an das GSM-Modul an, passiert nichts. Klaro, du hast zwei Slaves zusammengeschaltet. Dreh mal Stift 2 und 3 am Mikro, dadurch wird der Mikro zum Master. (die Kommunikation mit dem Laptop darf/kann dann nicht mehr funktionieren) (Da der Laptop sich als Master verhält kann er mit dem GSM reden) Es kann sein dass du noch eine Steuerleitung am GSM-Modul beaufschlagen musst. Kurt
Kurt schrieb: > Der Stecker ist Teil des Mikrocontrollers? Korrektur! Der Stecker ist Teil des GSM-Moduls? Kurt
Kurt schrieb: > Kurt schrieb: > >> Der Stecker ist Teil des Mikrocontrollers? > > Korrektur! > > Der Stecker ist Teil des GSM-Moduls? > > Kurt Das GSM-Modul http://www.telic.de/Load/Telemetry/M2M_Terminals/GT864_E/EN_UserManual_GT864-E.pdf hat einen eingebauten RS232-Anschluss. Ich verbinde den Mikrocontroller und den Laptop bzw. das GSM-Modul mit einem RS232-Kabel. Zum Testen wechsel ich den Stecker zwischen dem Laptop und dem GSM-Modul. Auf dem Mikrocontroller bleibt der Stecker immer drauf. Ich habe das Ausgangssignal vom Mikrocontroller debugged. Die Werte werden beim Debugger in HEX angezeigt. Alles stimmt. Und auf dem Laptop werden sie ja auch richtig angezeigt. Alles seltsam.
Thomas H. schrieb: > Kurt schrieb: >> Kurt schrieb: >> >>> Der Stecker ist Teil des Mikrocontrollers? >> >> Korrektur! >> >> Der Stecker ist Teil des GSM-Moduls? >> >> Kurt > > Das GSM-Modul > > http://www.telic.de/Load/Telemetry/M2M_Terminals/G... > > hat einen eingebauten RS232-Anschluss. Ich verbinde den Mikrocontroller > und den Laptop bzw. das GSM-Modul mit einem RS232-Kabel. Zum Testen > wechsel ich den Stecker zwischen dem Laptop und dem GSM-Modul. Auf dem > Mikrocontroller bleibt der Stecker immer drauf. > > Ich habe das Ausgangssignal vom Mikrocontroller debugged. Die Werte > werden beim Debugger in HEX angezeigt. Alles stimmt. Und auf dem Laptop > werden sie ja auch richtig angezeigt. > > Alles seltsam. Ist es nicht. " > Ich habe das Ausgangssignal vom Mikrocontroller debugged. Die Werte > werden beim Debugger in HEX angezeigt. Alles stimmt." Der Debugger ist im Laptop, richtig? Der Laptop verhält sich wie ein Master, wie ein "Sender". Also verhält sich dein Mikro wie ein Slave, das muss so sein denn sonst könnten sie nicht miteinander reden. Master/Slave im Sinne von: Auf Pin2 geht meine "Sendesignal" raus, auf Pin2 empfängt es der Mikro Und auch: Auf Pin2 geht meine "Sendesignal" raus, auf Pin2 empfängt es der GSM Auf Pin3 kommt die Antwort rein, die "Antwort" die dein Mikro "sendet" Auf Pin3 kommt die Antwort rein, die Antwort die dein GSM-Modul "sendet" Der Laptop und GSM unterhalten sich also dadurch dass der Laptop (auf Pin2) den "Befehl" ausgibt und das GSM-Modul auf Pin3 antwortet. Das gleiche Prozedere muss nun dein Mikro auch veranstalten, er muss auf Pin2 seinen Befehl raussenden und auf Pin3 die Antwort abwarten. Da du aber mit deinem Laptop deinen Mikro "lesen" kannst ist dieser im "Slave-Modus", heisst: er verhält sich so wie dein GSM-Modul. Das kann natürlich nicht gutgehen. Bringe deinen Mikro in den Mastermodus, heisst: gib dessen Anweisungen auf Pin2 aus und erwarte die Antwort von deinem Sklaven, dem GSM-Modul, auf Pin3. Versuchs mal, drehe Pin2 und Pin3 bei deinem Mikro um. Kurt
> Versuchs mal, drehe Pin2 und Pin3 bei deinem Mikro um. > Mach dir ein Zwischenkabel mit einem Stecker und einer Kopplung. Pin2 kommt auf Pin3 Pin3 kommt auf Pin2 Pin5 kommt auf Pin5 Kurt
Kurt schrieb: >> Versuchs mal, drehe Pin2 und Pin3 bei deinem Mikro um. >> > > > Mach dir ein Zwischenkabel mit einem Stecker und einer Kopplung. > > Pin2 kommt auf Pin3 > Pin3 kommt auf Pin2 > > Pin5 kommt auf Pin5 > > > Kurt Besten Dank, Kurt. Jetzt läuft es.
Kurt schrieb: > Auf Pin2 geht meine "Sendesignal" raus, auf Pin2 empfängt es der Mikro > Und auch: > Auf Pin2 geht meine "Sendesignal" raus, auf Pin2 empfängt es der GSM Was für ein Blödsinn. RxD ist immer Pin2, TxD ist immer Pin3. Deswegen werden Pin2 und Pin3 im Kabel gekreuzt. Und es gibt keinen Master und keinen Slave beim RS232.
Marc V. schrieb: > Und es gibt keinen Master und keinen Slave beim RS232. Es gibt DTE ("data terminal equipment") und DCE ("data communication equipment"), und die haben eine unterschiedliche Anschlussbelegung. Sie können deshalb mit einem 1:1-Kabel miteinander verbunden werden. Ein häufiges Kennzeichen ist, daß die eine Sorte Geräte einen Stecker (das Ding mit den Stiften) verwendet, während die andere Sorte Geräte eine Buchse (das Ding mit den Löchern) verwendet. Das klassische Beispiel ist das gute alte analoge Modem. Der PC hat als DTE einen Stecker, das Modem als DCE eine Buchse, und verbunden werden beide mit einem 1:1-Kabel. Man sollte spätestens dann stutzig werden, wenn man zwei Geräte miteinander verbinden will, die beide einen Stecker (oder beide eine Buchse) haben.
Rufus Τ. F. schrieb: > Der PC hat als DTE einen Stecker, das Modem als DCE eine Buchse, und > verbunden werden beide mit einem 1:1-Kabel. > > Man sollte spätestens dann stutzig werden, wenn man zwei Geräte > miteinander verbinden will, die beide einen Stecker (oder beide eine > Buchse) haben. Und wenn das noch zu keiner Lösung führt sollte man daran denken, dass sich nicht alle an diesen Quasi-Standard "DTE = Stecker, DCE = Buchse" halten.
Kurt schrieb: > Axel R. schrieb: >> Am PC: aus der d_R_ei kommts R_aus, also TX-> > > Aus der zwei kommts raus. > Damits da keinen "Streit" gibt, hier die Auflösung: PC: 15 poliger Stecker, Pin 3 > 25 poliger Stecker, Pin 2 > Kurt
Rufus Τ. F. schrieb: > Kurt schrieb: >> PC: 15 poliger Stecker > > Ganz sicher nicht. Stimmt, er hat nur neun. Kurt
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.