Suche Software die Hex über serielle Schnittstelle sendet

#355957
Lesenswert?
• ▲
▼
> dann hast du in r16 'A'
> und in r17 'B'

Und was hast du, wenn der Wert in den Nibbles kleiner als 10 war?
Ich bitte dich, deine (gut gemeinten) Vorschläge besser zu prüfen ehe
du sie absendest.

Ich hatte es mal so gelöst:

pc_printhex:            ;Gibt Byte als HEX an USART aus.
 push wl                    ;für zweite Ziffer sichern
 swap wl                    ;oberes Nibble zuerst
 rcall pc_printhex1         ;ausgeben...
 pop wl                     ;unteres Nibble
pc_printhex1:           ;Nibble ausgeben
 andi wl,15                 ;nur unteres Nibble interessiert und
 ori wl,'0'                 ;zur Ascii-Ziffer wandeln
 cpi wl,'9'+1               ;Wert über 9?
 brmi pc_printhex2          ;nein, so lassen...
; subi wl,-39                ;zum Kleinbuchstaben wandeln
 subi wl,-7                 ;zum Großbuchstaben wandeln
pc_printhex2:
 rjmp pc_data               ;Zeichen ausgeben und zurück...

pc_data:
 sbis UCSRA,UDRE            ;TX-UDR leer? ja...
 rjmp pc_data               ;nein, nochmal prüfen...
 out udr,wl                 ;Byte an PC senden
 ret

...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.