Handy Ansteuerung + Abfrage

Gast #86983
Lesenswert?
• ▲
▼
Hi Leute!

Möchte mit einem ATMEGA8 ein Siemens Handy (S45) ansteuern bzw. die
Antwort vom Telefon abfragen / auswerten.
-> das Ansteuern selbst ist kein problem; aber ich bekomme leider keine
antworten vom Handy. Weiss nicht ob es am Code oder an der
Schaltungliegt!? (Schaltung müsste aber eigentlich ok sein!)

Kurz zur Programm-Funktion:
Wenn Schalter gedrückt (INT0) -> sende befehl zum Telefonbuch auslesen
-> splitte die Antwort auf und lese bestimtme Telefonnummer aus ->
wähle diese Telefonnummer -> wenn Handy antwortet (Hex: 0x31) -> dann
führe funktionen aus (Overflow, INT1).

C-Code müsste doch eigentlich in ordnung sein - hab einfach keine Idee
mehr woran es liegen könnte...!

Wär super wenn ihr euch das vielleicht mal kurz anschaun könntet!

gruß,
semo
Angehängte Dateien:
Gast #86985
Lesenswert?
• ▲
▼
so, ich glaub jetzt wirds so langsam was...
-> habe festgestellt, dass das Mobiltelefon den at-befehl nicht
vestanden hat, weil der Schalter geprellt hat!

-> jedoch hab ich noch immer ein problem mit der Rückmeldung vom Handy:
ich bekomme zwar die gewünschte antwort (+cbr: 99, "<nummer>", 129,
"<name>") aber das Handy setzt gleich anschließend ein "OK" nach!
-> und somit steht bei mir im Register nur noch das OK drinnnen!
-> wie kann ich das verhindern, damit die vorherige antwort nicht
ersetzt wird??
vielleicht kann mir jemand helfen!?

thx, gruß
semo
Gast #86989
Lesenswert?
• ▲
▼
hmm ich hab recht viel mit den AT Befehlen gearbeitet. zwar mit dem
modem tc35 aber zu nem handy besteht eigentlich kaum ein unterschied
(außer dass das tc35 eben den textmode unterstützt)

nur wie meinst des, dass du nur mehr das ok im register hasst??
in welchem register, im udr? du kannst ja nur ein Ascii Zeichen in
einem Register speichern.. denn wenn du alle daten im ram speicherst
sollte es ja kein problem sein das ok einfach wegzumachen bzw. die
nutzdaten zu verwenden..

in meinem fall hab ich eine grobe datenauswertung schon im
interrupthandler gemacht (also herausfiltern von steuerinformationen)..
nimm einfach steuerzeichen wie beistriche oder sowas als anhaltspunkt

das wär dann mal mein projekt: www.verkehrsleitsystem.at.tf
Gast #86991
Lesenswert?
• ▲
▼
Hi Mathias!

Erstmals danke für deine antwort...!

Bei meinem Projekt gehts um folgendes:
ich schicke den Befehl "at+cpbr=99" ans Handy, welches folgendermaßen
antwortet: "
----anfang---
+CPBR: 99, "<telefonnummer>", 129, "<name>"
OK
---ende----

-> es geht nun darum, dass ich diese Antwort so aufteile, damit ich die
telefonnummer auslesen kann -> brauche also das "ok" nicht! -> habe
dafür auch schon eine funktion geschrieben!
aba aus irgendeinem grund funkt das nicht so ganz...keine ahnung
wieso!
@Register:
habe mir ein array angelegt in welches ich die empfangenen Zeichen vom
UDR reingebe - um diese dann abzufragen...!
-> schätze, es ist irgendwo vielleicht noch ein denkfehler im code, den
ich aba leider nicht finde!

gruß,
semo
Angehängte Dateien:
Gast #86992
Lesenswert?
• ▲
▼
Hi semo,
also erstmal freut es mich, daß Du in C programmierst ;-)
Jeder hat so seinen Programmierstil, der sich hoffentlich
mit jeder gemachten Erfahrung verbessert.
Ich würde das Problem so angehen:
Das erste Zeichen in der Variablen Receive_Buffer lesen.
Solange das Zeichen != " ist, alle Zeichen um eine Position
nach vorne schieben.
Wenn das gelesene Zeichen dann " ist, nochmal alles um eine
Position nach vorne schieben.
Jetzt in der Variablen das nächste " suchen und mit einem
Null-Terminator überschreiben.
Jetzt hast Du einen String, der die Telefonnummer enthält.
Wenn Du willst, kannst Du natürlich auch den Rest, wo ja
das gräßliche "OK" steht (;-)) überschreiben, aber wie schon
jemand sagte, besser noch wäre es, dieses OK auszuwerten.

Dies ist nur eine Möglichkeit. Sicher gibt es noch ein
Dutzend weitere. Um Speicherplatz und Geschwindigkeit mache
ich mir nur dann Gedanken, wenn es wirklich nötig ist.

mfg
Thomas
Gast #86993
Lesenswert?
• ▲
▼
Hi Thomas!

Diese Funktion hab ich eh schon geschrieben, das Problem ist im moment
"nur" dass es nicht funktioniert und ich noch nicht rausgefunden habe
woran es liegt...!
-> aber trotzdem, danke für deine Antwort!!
;o)

mfg,
semo
Gast #86995
Lesenswert?
• ▲
▼
in welchen Format antwortet eigentlich das Handy?
-> also, wie muss ich die antwort vom Handy anbfragen (vielleicht hab
ich ja dort einen fehler!?)?
-> ist doch eigentlich im HEX-Format, oder?
z.B. if (RecBuffer == 0x0D)...

gruß,
semo
Gast #87002
Lesenswert?
• ▲
▼
ok.Software ist im anhang, den Link habe ich wiedermal verschlampt...
wäre ja auch was neues.
irgendwas mit Tiny-Planet.com  oder so.
ich habe eben mal probiert mich zu erinnern, kommt aber nur schweinkram
(logisch, bei der schreibweise).
hoffe es hilft trotzdem.
Gruß
Axel

!!here it is!!
http://www.riccibitti.com/tinyplanet/tiny_intro.htm

TINY wird ja auch nicht "Teenie" geschrieben, hab's gefunden ;->
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren