Fehler bei serieller Übertragung

Gast #47846
Lesenswert?

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 :-(
Gast #47852
Lesenswert?

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
Gast #47854
Lesenswert?

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.
Gast #47855
Lesenswert?

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.
Gast #47858
Lesenswert?

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
Gast #47861
Lesenswert?

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

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