projects
/
my-code
/
atmel.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
corrected careless mistake
[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
9
UART_INIT:
10
11
; baudrate
12
ldi tmp1,UART_BR_H
13
out UBRRH,tmp1
14
ldi tmp1,UART_BR_L
15
out UBRRL,tmp1
16
17
; enable
18
ldi tmp1,(1<<RXEN)|(1<<TXEN)
19
out UCSRB,tmp1
20
21
; frame format -> 8n1
22
ldi tmp1,(1<<UCSZ0)|(1<<UCSZ1)
23
out UCSRC,tmp1
24
25
ret
26
27
UART_INT_RX_INIT:
28
29
in tmp1,UCSRB
30
sbr tmp1,(1<<RXCIE)
31
out UCSRB,tmp1
32
33
ret
34
35
UART_INT_TX_INIT:
36
37
in tmp1,UCSRB
38
sbr tmp1,(1<<TXCIE)
39
out UCSRB,tmp1
40
41
ret
42
43
UART_RX:
44
45
; get/store received byte
46
sbis UCSRA,RXC
47
rjmp UART_RX
48
in uart_rxtx,UDR
49
50
ret
51
52
UART_TX:
53
54
; transmit content of uart_rxtx
55
sbis UCSRA,UDRE
56
rjmp UART_TX
57
out UDR,uart_rxtx
58
59
ret
60