avr/uart_hw: tty1 works in send and receive direction.
This commit is contained in:
@@ -81,3 +81,32 @@ UART_HW_Interface_SetWriteBuffer:
|
||||
|
||||
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; @routine UART_HW_Interface_EnsureReadBuffer
|
||||
;
|
||||
; @clobbers R16 (R17, R24, R25, X)
|
||||
|
||||
UART_HW_Interface_EnsureReadBuffer:
|
||||
ldd r16, Y+UART_HW_IFACE_OFFS_READBUFNUM
|
||||
cpi r16, 0xff
|
||||
breq UART_HW_Interface_EnsureReadBuffer_alloc
|
||||
UART_HW_Interface_EnsureReadBuffer_secRet:
|
||||
sec
|
||||
UART_HW_Interface_EnsureReadBuffer_ret:
|
||||
ret
|
||||
UART_HW_Interface_EnsureReadBuffer_alloc:
|
||||
rcall NET_Buffer_Alloc ; (R16, R17, X)
|
||||
brcc UART_HW_Interface_EnsureReadBuffer_ret
|
||||
rcall UART_HW_Interface_SetReadBuffer ; (R17)
|
||||
rcall NET_Interface_SetIfaceNumInBuffer ; (R16, R17)
|
||||
rjmp UART_HW_Interface_EnsureReadBuffer_secRet
|
||||
UART_HW_Interface_EnsureReadBuffer_noBuf:
|
||||
ldi r16, NET_IFACE_OFFS_ERR_MISSED_LOW
|
||||
rcall NET_Interface_IncCounter16 ; (R24, R25)
|
||||
clc
|
||||
ret
|
||||
; @end
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user