Hallo Forum, ich möchte mit dem Handy einen SMS versenden (funktioniert auch schon) und das zurückkommende OK vom Handy auswerten. Dazu habe ich folgende Standardfunktion verwendet. uint8_t Usart_Rx(void) { while (!(UCSRA & (1<<RXC))); return UDR; } Im Main mache ich dann folgende Abfrage while( Usart_Rx() != 'O'); while( Usart_Rx() != 'K'); Zum Testen nehm ich den Hyperterm. Da funktionierts auch richtig, nur wenn ich das Handy anschließe und der Controller die SMS-Sendung veranlaßt bleibt der Controller hängen. Irgendwelche Ideen?? Denke evtl. dass es mit der Geschwindigkeit zusammenhängt mit der das Handy antwortet. Gruß Timo
Schickt Dein Handy vielleicht "ok" oder "Ok" ? Ausserdem - Wenn es dann mal funktioniert und Deine Handy schickt "Oma backt die besten Kekse" , dann würde deine Auswertung das auch als OK ( O(ma)K(ekse) ) ansehen. Ist es das was Du willst :-) Gruss Frank
...war jetzt zwei Tage nich da. Also... @Frank: das ist mir schon klar, dass das passieren kann, aber ich weiß sehr genau was das Handy zurückschickt und das ist entweder OK oder ERROR und an die Groß- und Kleinschreibung hab ich auch schon gedacht. Brachte aber nix. Habs auch auf den ASCII-Wert überprüft, war aber auch nix. ;(((( @WM-Rahul da kommen sehr viele Steuerzeichen wenn ich den Hyperterm auf ASCII-Darstellun g umstelle. So Sachen wie RETURN und LINEFEED halt. Dachte das sollte kein Problem sein. Außerdem brigt er noch sowas wie CSSM+ oder so. Kann mich nicht genau erinnern. Schönen Gruß Timo
> da kommen sehr viele Steuerzeichen wenn ich den Hyperterm auf > ASCII-Darstellun g umstelle. So Sachen wie RETURN und LINEFEED halt. > Dachte das sollte kein Problem sein. Außerdem brigt er noch sowas wie > CSSM+ oder so. Kann mich nicht genau erinnern. Du solltest dein Empfangsschema mal grundsätzlich umstellen. Bau dir eine Funktion, die alles was vom Handy kommt in Zeilen aufteilt. Also solange Zeichen sammeln bis ein RETURN und LINEFEED daherkommt. Erst dann, wenn du eine komplette Zeile empfangen hast, kümmerst du dich um die Auswertung. Wenn du weiterhin Schwierigkeiten hast, ist es immer eine gute Idee, mal das was der µC vom Handy kriegt auszugeben. Egal wo. Ob das jetzt ein paar LED's sind auf denen du die Zeichen durchblinkst, oder ob du das Empfangene vom µC auf einer zusätzlichen UART an Hyperterminal überspielst oder wie auch immer. Wichtig ist nur, dass du mal siehst was denn der µC tatsächlich vom Handy kriegt. Das Handy direkt an HT anschliessen ist dafür kein Ersatz. > Denke evtl. dass es mit der Geschwindigkeit zusammenhängt mit der > das Handy antwortet. Eher nicht. Die Zeitdauer die die Hardware benötigt um ein Zeichen zu übertragen ist für den µC eine halbe Ewigkeit.
Hab mich inzwischen nochmal über diese Sache gemacht und mitlerweilen funktionierts auch. Ich hatte einfach eine zu lange Wartezeit zwischen dem Senden ans Handy und dem Empfangen vom Handy drin. Is zwar nicht die eleganteste Lösung, aber für mich reicht das erstmal aus. Danke ans Forum!!!!! Is echt klasse die Unterstützung hier, gerade als Anfänger.
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.