Hallo wiedermal, ein Problem jagt das nächste! Was ist denn jetzt schon wieder an diesem Stückchen Code falsch ? (Ich verwende seit neuestem den Bascom Compiler) Print "AT+CMGW=34" Waitms 100 Print "01911100039121F30000AA05617ABBCC06" ; Chr(26); Es wird einfach keine SMS gespeichert verrücktwerd. Einmal hatte ich eine "Ungültige SMS im Ausgang", aber seitdem nie wieder etwas. Ich habe es auch schon mit Chr(27) versucht, aber auch nix. Hat jemand nen Tipp ?
Vielleicht liegt's daran: lt. Siemens Developer-Guide zaehlt die SCA-Len nicht zur Laenge der PDU (z.B. bei AT+CMGS/GMGW), so die PDU richtig aufgebaut ist, kann man AT+...=32 und =33 ausprobieren. <ctrl-z> ist $1A sollte als mit 26 schon richtig sein. Erstmal mit Terminal-Programm ausprobieren (Br@y-Terminal - sehr praktisch)
hi müsste nicht nach jedem befehl ein chr$(13) also ein return kommen damit das handy merkt dass der befehl abgechlossen ist ? mfg mike
Wenn die oben genannte PDU die Originalversion ist (also keine spezielle zum hier posten), dann probier als Länge doch mal 16 aus. -> Print "AT+CMGW=16"
Hi, hab da auch ne Weile getüftelt. Der Fehler liegt an der Länge der PDU. Ein super Programm das dir dabei hilft ist pduspy.exe. Einfach mal danach googeln. Gruss Gerhard
Tja, es klappt immer noch nicht. Ich habe jetzt jede Länge ausprobiert. Auch mit und ohne Chr(13) geht es nicht. Der PDU-String wurde übrigens über diesen Link erstellt: http://home.student.utwente.nl/s.p.ekkebus/portfolio/resource/sms_pdu.html Das Problem, der keinen seinen eigenen Code nicht mehr entschlüsseln. Also ich denk mal nicht das der dann so ganz fehlerfrei ist. Hat jemand von euch einen PDU-String der auch 100%-ig funktioniert? Wenn ich einen mit PDUspy erstelle und die Länge-1 probiere geht es auch nicht. Habt ihr noch Tipps ? Viele Grüße Christian
Hi Christian , hab dir mal ne Word Datei angehängt Bei mir hat das so geklappt. Teste auch mal ob die Verbindung Handy - AVR o.k. ist. Sonst probier das ganze erst mal mit Hyperterminal . Gruss Gerhard
Also vielen Dank für die Mühe erstmal! Aber das geht nicht bei mir, hab ich schon die ganze Zeit so probiert. Die Verbindung Handy <--> AVR ist in Ordnung. Befehle wie "ATD..." funktionieren ganz normal. Ist mir echt ein Rätsel !?
Ich habe das auch mit PDUSpy gemacht, allerdings ist die Länge die von PDUSpy angezeigt wird nicht die richtige für den AT befehl. Semme hatte da schon recht mit der Länge 16. Von der Länge die Angezeigt wird, mußt du immer noch 1 abziehen. Hast Du das ganze inzwischen mal mit dem Hyperterminal o.ä. ausprobiert?
Jawohl ! Vielen Dank. Jetzt hat es geklappt. Jürgen und Semme ihr habt recht, da muß man 1 abziehen. Anscheinend hatte ich noch einen anderen Fehler weil es vorher nie funktionierte! Egal, jetzt passt es ! THX ! 0001000491805100001AC8309BFD0619DFF27ADB05B2A6CBECB21B440CBBD7A010
Noch einen letzten Tipp von mir: Mir ist gerade aufgefallen das es nur funktioniert wenn die Beleuchtung vom Handy (C35) aus ist. Das heißt, ich darf ein paar Sekunden keine Taste drücken und wenn ich dann den µC resette klappt die SMS Übertragung. Auf das muß man erstmal kommen! ---------------- THREAD CLOSED - Problem gelöst ----------------
was hat das mit dem Licht zu tun, zapfst Du dir die Spannung für den Controller vom Handy ab??
Keine Ahnung warum das so zusammenhängt, aber glaub's mir einfach. Der Befehl "AT+CMGW=.." funktioniert nur wenn die Beleuchtung vom Handy aus ist. Spannung für den µC kommt nicht vom Handy.
Hi Christian, ich habe das jetzt gerade auch mal mit 'nem C35 ausprobiert, klappt ohne Probleme, egal ob das Display leuchtet oder nicht. Der einzige unterschied, zu den Handys die ich bisher probiert habe ist, daß es nicht auf eine Baudrate von 9600 reagiert, sondern nur bei 19200. Vielleicht hat dein C35 ja 'ne Macke, wer weiß.
Hallo Wie hast du es nun mit dem AT+CMGS=x gelöst? Bei mir funktioniert die ganze Sache mit AT+CMGS=1 einwandfrei. Das verwundert mich ein wenig und ich weiß auch nicht ob ich das auf Dauer so lassen kann. Hab insgesamt ca. 20 SMS gesendet und es war alles ok. Seltsam oder? Habe auch verschiedene Netze probiert. Gruß Helge
@Helge Ich arbeite im Controller nicht mit AT+CMGS=x sondern mit at+CMSS=x damit versende ich dann eine Nachricht, die an Index x im SMS-Speicher der Karte steht. Das macht das ganze auch etwas flexibler, da so der Controller ja nicht die Telefonnummer 'wissen' muß. Gruß Jürgen
Nach langem Probieren funktioniert es nun endlich. Die Länge ist die von "PDUspy angezeigte - 1". Dann noch ein paar Pausen und einmal "AT" eingefügt, und siehe da, es läuft. So z.B.: Print "AT" Waitms 500 Print "AT+CMGW=34" Waitms 800 Print "01911100039121F30000AA05617ABBCC06" ; Chr(26); Wait 2 Von dem Befehl "at+CMSS=x" hab ich noch nie was gehört. Wenn ich das gewußt hätte, wäre mir viel Ärger erspart worden !
Hallo Danke euch erstmal.Mit dem SMS Text von der Karte wäre ich nicht hin gekommen weil die Karte öfter mit einer anderen getauscht wird.Aber mit dem CMGW das werde ich mir noch mal durch den Kopf gehen lassen. Gruß Helge
Hi, Habe ebenfals ein Problem beim Versenden einer SMS. Ich habe ein Termianl Programm geschrieben in Visual Basic wo ich die AT-Befehle über die serielle Schnittstelle ans Handy schicke. Meine Frage: Wie kann ich Ctrl-Z in Visual Basic ausgeben? chr(26) funtioniert nicht, kann mir jm helfen? Programm: Dim i As Long comPort.Output = "at+cmgs=22" + vbCrLf For i = 0 To 1000000 'wait Next i comPort.Output = "0001000c9153021246499800000AE8329BFD4697D9EC37" For i = 0 To 100000 Next i comPort.Output = Chr(26)
chr(26) meint einfach nur das einzelne Zeichen (char) 26 oder auch $1A in Hex ...so sehe ich das
Christian und Jürgen, was für handys nehmt ihr denn da? auch was anderes ausser siemens und motorola? hat da schon jemand erfahrungen ob es auch mit anderen handys und dem at-befehlen geht? wie siehts aus mit der verbindung handy und atmel. per datenkabel oder direkt auf die pins?
bei http://www.nobbi.com/index.htm gibt´s infos dazu. nokia scheint probleme zu geben (wie so oft). generell sollte jedes handy, das als modem an nen laptop geschlossen wird gehen, oda?
@Mike ich hab bis jetzt nur Siemens Handys getestet. Die Verbindung wird bei mir über ein Datenkabel hergestellt.
falls es jemanden interessierne sollte... ich hab mich jetzt 2 tage mit dem zeugs herumgeschlagen und hab jetzt einen schönen c-code der PDUs generiert... den werd ich gleich mal für den AVR porten was eigentlich ohne probs gehn müsste da ich nur libc funktionen verwende und die werden auch noch rausfliegen... und ganz so nebenbei hab ich mir ein prog geschrieben das com1 auf com2 weiterleitet... sprich das was auf com1 rein kommt geht auf com2 raus... und umgekehrt... das was da hin und her fliesst wird angezeigt...ganz praktisch zum mitsniffn g 73 de oe6jwf /hans
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.