projects
/
my-code
/
atmel.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
-> mapping to an 1/x like behaviour
[my-code/atmel.git]
/
monolyzer
/
uart.asm
1
; uart functions
2
3
; default uart settings / 19.2k @ 8 mhz
4
; ifndef UART_BR_H
5
.equ UART_BR_H = 0
6
; ifndef UART_BR_L
7
;.equ UART_BR_L = 25
8
.equ UART_BR_L = 8
9
10
UART_INIT:
11
12
; baudrate
13
ldi tmp1,UART_BR_H
14
out UBRRH,tmp1
15
ldi tmp1,UART_BR_L
16
out UBRRL,tmp1
17
18
; enable
19
ldi tmp1,(1<<RXEN)|(1<<TXEN)
20
out UCSRB,tmp1
21
22
; frame format -> 8n1
23
ldi tmp1,(1<<UCSZ0)|(1<<UCSZ1)
24
out UCSRC,tmp1
25
26
ret
27
28
UART_INT_RX_INIT:
29
30
in tmp1,UCSRB
31
sbr tmp1,(1<<RXCIE)
32
out UCSRB,tmp1
33
34
ret
35
36
UART_INT_TX_INIT:
37
38
in tmp1,UCSRB
39
sbr tmp1,(1<<TXCIE)
40
out UCSRB,tmp1
41
42
ret
43
44
UART_RX:
45
46
; get/store received byte
47
sbis UCSRA,RXC
48
rjmp UART_RX
49
in uart_rxtx,UDR
50
51
ret
52
53
UART_TX:
54
55
; transmit content of uart_rxtx
56
sbis UCSRA,UDRE
57
rjmp UART_TX
58
out UDR,uart_rxtx
59
60
ret
61