comonuart1: fixed bit names, disable IRQ when starting to write.
This commit is contained in:
@@ -149,6 +149,22 @@ comOnUart1StartReading:
|
|||||||
; @clobbers R16, R17, X, Z (R22, R24, R25)
|
; @clobbers R16, R17, X, Z (R22, R24, R25)
|
||||||
|
|
||||||
comOnUart1StartWriting:
|
comOnUart1StartWriting:
|
||||||
|
push r15
|
||||||
|
inr r15, SREG
|
||||||
|
cli
|
||||||
|
rcall comOnUart1StartWriting_noIrq
|
||||||
|
brcc comOnUart1StartWriting_clc
|
||||||
|
outr SREG, r15
|
||||||
|
pop r15
|
||||||
|
sec
|
||||||
|
ret
|
||||||
|
comOnUart1StartWriting_clc:
|
||||||
|
outr SREG, r15
|
||||||
|
pop r15
|
||||||
|
clc
|
||||||
|
ret
|
||||||
|
|
||||||
|
comOnUart1StartWriting_noIrq:
|
||||||
rcall comOnUart1AcquireAttn ; (R22)
|
rcall comOnUart1AcquireAttn ; (R22)
|
||||||
brcc comOnUart1StartWriting_ebusy
|
brcc comOnUart1StartWriting_ebusy
|
||||||
; copy buffer
|
; copy buffer
|
||||||
@@ -451,7 +467,7 @@ comOnUart1StartTx:
|
|||||||
cbr r16, (1<<TXC1) ; clear TXCn interrupt
|
cbr r16, (1<<TXC1) ; clear TXCn interrupt
|
||||||
outr UCSR1A, r16
|
outr UCSR1A, r16
|
||||||
inr r16, UCSR1B
|
inr r16, UCSR1B
|
||||||
sbr r16, (1<<UDRIE1) | (1<<TXC1) | (1<<TXEN1) ; enable TX UDRE and TXC1 interrupt, enable transceive
|
sbr r16, (1<<UDRIE1) | (1<<TXCIE1) | (1<<TXEN1) ; enable TX UDRE and TXC1 interrupt, enable transceive
|
||||||
outr UCSR1B, r16
|
outr UCSR1B, r16
|
||||||
ret
|
ret
|
||||||
; @end
|
; @end
|
||||||
@@ -465,7 +481,7 @@ comOnUart1StartTx:
|
|||||||
|
|
||||||
comOnUart1StopTx:
|
comOnUart1StopTx:
|
||||||
inr r16, UCSR1B
|
inr r16, UCSR1B
|
||||||
cbr r16, (1<<UDRIE1) | (1<<TXC1) | (1<<TXEN1) ; disable TX UDRE and TXC1 interrupt, enable transceive
|
cbr r16, (1<<UDRIE1) | (1<<TXCIE1) | (1<<TXEN1) ; disable TX UDRE and TXC1 interrupt, enable transceive
|
||||||
outr UCSR1B, r16
|
outr UCSR1B, r16
|
||||||
ret
|
ret
|
||||||
; @end
|
; @end
|
||||||
@@ -806,7 +822,7 @@ comOnUart1TxUdreIsr_end:
|
|||||||
comOnUart1TxCharIsr:
|
comOnUart1TxCharIsr:
|
||||||
; disable further TXC interrupts
|
; disable further TXC interrupts
|
||||||
inr r16, UCSR1B
|
inr r16, UCSR1B
|
||||||
cbr r16, (1<<TXC1) ; disable TXC1 interrupt
|
cbr r16, (1<<TXCIE1) ; disable TXC1 interrupt
|
||||||
outr UCSR1B, r16
|
outr UCSR1B, r16
|
||||||
rcall comOnUart1StopTx ; (R16)
|
rcall comOnUart1StopTx ; (R16)
|
||||||
ldi r16, UART_HW2_MODE_MSGSENT
|
ldi r16, UART_HW2_MODE_MSGSENT
|
||||||
|
|||||||
Reference in New Issue
Block a user