Steuercodes über UART senden

Gast
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
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
...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
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
@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
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
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 ?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.