some hdw-tank stuff at gergos place ...
[my-code/atmel.git] / hdw-tank / uart.asm
diff --git a/hdw-tank/uart.asm b/hdw-tank/uart.asm
new file mode 100644 (file)
index 0000000..1ca82e0
--- /dev/null
@@ -0,0 +1,36 @@
+; uart functions
+
+UART_INIT:
+
+       ; baudrate
+       ldi tmp,
+       out UBRRH,tmp
+       ldi tmp,
+       out UBRRL,tmp
+
+       ; enable
+       ldi tmp,(1<<RXEN)|(1<<TXEN)
+       out UCSRB,tmp
+
+       ; frame format
+
+       ret
+
+UART_RX:
+
+       ; get/store received byte
+       sbis UCSRA,RXC
+               rjmp UART_RX
+       in tmp,UDR0
+
+       ret
+
+UART_TX:
+
+       ; transmit content of tmp
+       sbis UCSRA,UDRE
+               rjmp UART_TX
+       out UDR0,tmp
+
+       ret
+