avr: more work on ardware uart code.
This commit is contained in:
@@ -19,9 +19,7 @@
|
||||
; incoming message ringbuffer.
|
||||
;
|
||||
; @param Y pointer to start of interface data
|
||||
; @param X pointer to start of buffer
|
||||
; @param r16 buffer number
|
||||
; @clobbers R16, R17, R18, R19, R20, R21, X
|
||||
; @clobbers R16, R20 (R17, R18, R18, R19, R20, R21, X)
|
||||
|
||||
UART_HW_Interface_RunRead:
|
||||
ldd r16, Y+UART_HW_IFACE_OFFS_READMSG_BUFNUM
|
||||
@@ -71,12 +69,12 @@ UART_HW_Interface_RunRead_HaveMsg:
|
||||
std Y+UART_HW_IFACE_OFFS_READMSG_BUFNUM, r16
|
||||
rjmp UART_HW_Interface_RunRead_end
|
||||
UART_HW_Interface_RunRead_ovrError:
|
||||
rcall uartHwIncOvrCounter
|
||||
rcall uartHwReadResetBuffer
|
||||
rcall uartHwIncOvrCounter ; (R16)
|
||||
rcall uartHwReadResetBuffer ; (R16, X)
|
||||
rjmp UART_HW_Interface_RunRead_end
|
||||
UART_HW_Interface_RunRead_dataError:
|
||||
rcall uartHwIncContentCounter
|
||||
rcall uartHwResetBufferStartSkipping
|
||||
rcall uartHwIncContentCounter ; (R16)
|
||||
rcall uartHwResetBufferStartSkipping ; (R16, X)
|
||||
UART_HW_Interface_RunRead_end:
|
||||
ret
|
||||
; @end
|
||||
@@ -129,11 +127,11 @@ uartHwReadResetBuffer_haveBuffer:
|
||||
; @routine uartHwResetBufferStartSkipping
|
||||
;
|
||||
; @param Y pointer to start of interface data
|
||||
; @clobbers r16, X
|
||||
; @clobbers r16 (X)
|
||||
|
||||
uartHwResetBufferStartSkipping:
|
||||
; reset READ buffer settings, enter skip mode
|
||||
rcall uartHwReadResetBuffer
|
||||
rcall uartHwReadResetBuffer ; (R16, X)
|
||||
ldd r16, Y+UART_HW_IFACE_OFFS_MODE
|
||||
ori r16, UART_HW_MODE_SKIPPING
|
||||
std Y+UART_HW_IFACE_OFFS_MODE, r16
|
||||
|
||||
Reference in New Issue
Block a user