Hallo zusammen, ich versuche gerade ein Handy seriell mit AT-Befehlen zu füttern. Es soll einfach nur ne Nummer wählen (ATD08150815;). Meistens tut das Ding überhaupt nichts und (höchst selten) wählt es dann ne falsche Nummer wie (0888150815). Baudrate von 19200 stimmt und laut Datenblatt müßte es auch nur eine Abweichung um 0,2% geben, was unproblematisch sein soll. Außerdem schaltet sich das Handy immer wieder selber ab. Wo kann hier der Fehler liegen ? Ich bin ratlos :-(
Ich hab schon Stunden damit verbracht ! Aber ich wüßte nicht wo da ein Hinweis auf die Lösung meines Problems stünde !
Ein Siemens C35i. Ich verbinde RX --|1k|-- TX und TX --|1k|-- RX und dann noch zwei Z-Dioden mit 2,7V. Und natürlich GND. Die Schaltung hab ich hier im Forum gefunden.
Hallo Christian, vielleicht voellig falsch, aber: bist Du sicher, dass die AT-Befehle korrekt sind und dass sie auch richtig interpretiert werden? Vorher initialisiert? Freizeichenprobleme (probier mal ATX3DT)? Gruss, Dirk
Hallo! Geht der Schaltplan von Christian auch mit dem SL45i? Funzen da auch die AT befehle? Danke
Also an der oben angegebnen Schaltung kann es nicht liegen, denn die funktioniert bei mir einwandfei. Ich hoffe, du sendest nach jedem Befehl hexadezimal A und D, sonst kann es nicht hinhauen.
Ich schicke das hier raus: (ATD08150815081;) --> Line Feed --> Carriage Return ldi serbyte, 'A' rcall serout ldi serbyte, 'T' rcall serout ldi serbyte, 'D' rcall serout ldi serbyte, '0' rcall serout ldi serbyte, '8' rcall serout ldi serbyte, '1' rcall serout ldi serbyte, '5' rcall serout ldi serbyte, '0' rcall serout ldi serbyte, '8' rcall serout ldi serbyte, '1' rcall serout ldi serbyte, '5' rcall serout ldi serbyte, '0' rcall serout ldi serbyte, '8' rcall serout ldi serbyte, '1' rcall serout ldi serbyte, 59 rcall serout ldi serbyte, 10 rjmp serout ldi serbyte, 13 rjmp serout Wie kann ich denn überprüfen ob das Handy überhaupt antwortet. Z.B. wenn ich AT rausschicke, müsste ja AT wieder ankommen. Aber wie soll ich das auswerten mit nem AVR? Ich hab ja kein LCD und keine Verbindung zum PC.
Bei mir funktioniert es auf diese Art und Weise einwandfrei! Allerdings lasse ich folgendes weg: "ldi serbyte, 59" "rcall serout" Was bringt "59" eigentlich?
59(dec) ist dieses Zeichen --> ; Hast recht, brauche ich eigentlich nicht. Bedeutet nur das eine Sprachverbindung aufgebaut werden soll.
Zitat Wie kann ich denn überprüfen ob das Handy überhaupt antwortet. Z.B. wenn ich AT rausschicke, müsste ja AT wieder ankommen. Aber wie soll ich das auswerten mit nem AVR? Ich hab ja kein LCD und keine Verbindung zum PC. /Zitat Wenn Du "AT" sendest müsste eigentlich "OK" zurückkommen!?! Den korrekten Empfang kannst Du doch über eine LED signalisieren. MfG Andreas Jäger
Hallo Christian, funktioniert deine Handy - Ansteuerung jetzt eigentlich? Wenn ja, wo lag den der Fehler? Gruß, Semme
Wenn es noch nicht funktioniert könntest du zwischen jeden Zeichen eine kleine Wartezeit verstreichen lassen. Das habe ich z.b. schon mal mit einer Kopplung µC <---> SPS gehabt.
Dumme Frage: Warum werden die letzten beiden Zeichen mit "rjmp serout" gesendet? ldi serbyte, 59 rcall serout ldi serbyte, 10 rjmp serout ldi serbyte, 13 rjmp serout Müßte das nicht auch "rcall" sein? Wohin wird sonst zurückgesprungen? Oder ist es nur ein Dreckfuhler? Beste Grüße Sven
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.