USART - RS-232 - Transmit


;; (C) David Vajda
;; 2024-12-20
;; RS-232, Transmit

.include "m8def.inc"

ldi r16, HIGH (RAMEND)
out SPH, r16
ldi r16, LOW (RAMEND)
out SPL, r16

ldi r16, HIGH (25)
out UBRRH, r16
ldi r16, LOW (25)
out UBRRL, r16

ldi r16, (1 << URSEL) | (1 << UCSZ1) | (1 << UCSZ0)
out UCSRC, r16
ldi r16, (1 << TXEN)
out UCSRB, r16

loop1:
ldi r16, 'N'
rcall utransmit
ldi r16, 'o'
rcall utransmit
ldi r16, ' '
rcall utransmit
ldi r16, 'e'
rcall utransmit
ldi r16, 'x'
rcall utransmit
ldi r16, 'c'
rcall utransmit
ldi r16, 'u'
rcall utransmit
ldi r16, 's'
rcall utransmit
ldi r16, 'e'
rcall utransmit
ldi r16, 's'
rcall utransmit
ldi r16, '@'
rcall utransmit
ldi r16, 'i'
rcall utransmit
ldi r16, 't'
rcall utransmit
ldi r16, 'u'
rcall utransmit
ldi r16, 'e'
rcall utransmit
ldi r16, 'n'
rcall utransmit
ldi r16, 'i'
rcall utransmit
ldi r16, 'x'
rcall utransmit
ldi r16, '.'
rcall utransmit
ldi r16, 'd'
rcall utransmit
ldi r16, 'e'
rcall utransmit
ldi r16, 10
rcall utransmit
ldi r16, 13
rcall utransmit
rjmp loop1

utransmit:
sbis UCSRA, UDRE
rjmp utransmit
out UDR, r16
ret

Image Screenshot_20241220_205955

Image Screenshot_20241220_210243