Gast
#163135
Hallo Forum, schon wieder ich :) Ich möchte Befehle über das UART an ein Handy schicken. Die Modembefehle sind ja im Grunde Klartext. Wie aber versende ich <CR>,<STRG+Z> und <ESC> ?
|
Anzeige
|
Steuercodes über UART senden
Gast
#163135
Hallo Forum, schon wieder ich :) Ich möchte Befehle über das UART an ein Handy schicken. Die Modembefehle sind ja im Grunde Klartext. Wie aber versende ich <CR>,<STRG+Z> und <ESC> ?
Gast
#163136
Dem UART ist es wurscht was Du sendest. Der Empfänger ist derjenige, der das interpretiert. Gerhard
Gast
#163137
Sorry, dass ich so blöd bin !!!! Ich kann ja wohl kaum "Steuerung plus Z schreiben" um die Tastenkombination zu senden. Ist mir auch klar, dass es dem UART wurscht ist.
Gast
#163138
http://www.lookuptables.com/ passendes byte senden
Gast
#163139
Hallo... Schau dir doch mal eine ASCII-Tabelle an. Wenn du dort den hex-wert für bsp. <CR> entnimmst und sendest müsste es doch klappen, oder? gruß
Gast
#163140
...mhh so richtig will das nicht. Jetzt kann aber die Steckerbelegung des D-Sub anders sein. Ich hab nen Anschlusskabel, dass normalerweise in den Rechner (Stecker) kommt. Das STK500 hat aber ne Buchse, wie das Kabel. Hab mir nen Adapter gebastelt, der Pin 1 mit 1, 2 mit 2 etc verbindet. Müsste der vielleicht anders beschaltet sein ?
Gast
#163141
Kennt vielleicht jemand ein Tool zum mitschreiben der seriellen Daten ? Wenn ich einen Modembefehl an den Terminal sende wird er den vermutlich nicht anzeigen sondern versuchen auszuführen. Dies sind die beiden Zeilen, die ich an das Handy senden will: SendBefehl: .db "at+cmgs=",34,"01705410102",34,13, 0 Text12: .db "Test",26,27, 0 Das Wort Test kann ich im Terminal sehen aber den Befehl nicht. Wird dieser dann nicht gesendet oder verschluckt der Terminal ihn ??
Gast
#163142
@Carsten ist ganz einfach... ^@ = 0x00 - Ok, geht auf deutscher Tastatus schlecht :( ^A = 0x01 ^B = 0x02 ^C = 0x03 ... ^G = 0x07 = Ring the Bell ... ^J = 0x0A = LineFeed ^K = 0x0B ^L = 0x0C = FormFeed ^M = 0x0D = CR ...
Gast
#163143
Hallo Werner, jetzt stehe ich etwas auf'm Schlauch. Was bedeutet das ?
Gast
#163144
OK, noch mal von vorne:
Über den Terminal wird das Handy wie folgt bedient:
at+cmgs="01711234567"<CR>
Dann antwortet das Handy mit: >
Jetzt kommt der Text ohne " :
Test<STRG+Z><ESC>
Ich habe versucht das ganze mit dem UART Tutorial und dem
Speicher-Tutorial zu realisieren.
Erster Versuch:
Erst den Text .db "at+cmgs=",34,"01705410102",34,13, 0 mit
folgender Routine
print_Modem:
lpm ; Erstes Byte des Strings nach R0 lesen
tst R0 ; R0 auf 0 testen
breq print_Modem_end ; wenn 0, dann zu print_end
mov Text_Modem,r0 ;r0 nach r20 kopieren
rcall sendbyte ; UART-Sendefunktion aufrufen
adiw ZL, 1 ; Adresse des Z-Pointers um 1 erhöhen
rjmp print_Modem ; wieder zum Anfang springen
print_Modem_end:
ret
Sendbyte ist im Grunde direkt aus dem Tutorial übernommen.
Müsste ich jetzt abwarten oder sogar auf ein feedback warten bevor ich
den Text sende ?
Ich habe bis jetzt versucht, direkt anschließend diese Zeile zu
senden:
.db "Test",26,27, 0
wobei hier 26 eigentlich STRG+Z und 27 ESC entsprechen müsste.
Hilfe, bin langsam verzweifelt.
Gast
#163145
Kann mir vielleicht wenigstens jemand einen Tipp zum seriellen Anschluss geben ? Das Datenkabel vom Handy hat ne Buchse, das STK 500 auch. Wie muss der Adapter aussehen ?
Gast
#163146
Jetzt hab ich's... Pin 2 auf 3, Pin 3 auf 2 und Pin 5 auf 5. Für mein nächstes Problem fange ich mal nen neuen Threat an. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|