avr: bootloader partially works now but stops after 3 messages...
This commit is contained in:
@@ -8,10 +8,6 @@
|
||||
; ***************************************************************************
|
||||
|
||||
|
||||
.dseg
|
||||
; uartHw_TtyOn1Interface: .byte UART_HW_IFACE_SIZE
|
||||
|
||||
|
||||
|
||||
.cseg
|
||||
|
||||
|
||||
@@ -92,8 +92,8 @@ UART_HW_Uart1_RawSendPacket_loop:
|
||||
|
||||
UART_HW_Uart1_EnableRawRecv:
|
||||
lds r16, UCSR1B
|
||||
cbr r16, (1<<RXCIE1) ; disable RX complete interrupt
|
||||
sbr r16, (1<<RXEN1) ; enable receive
|
||||
; cbr r16, (1<<RXCIE1) ; disable RX complete interrupt
|
||||
ori r16, (1<<RXEN1) ; enable receive
|
||||
sts UCSR1B, r16
|
||||
ret
|
||||
; @end
|
||||
@@ -109,8 +109,8 @@ UART_HW_Uart1_EnableRawRecv:
|
||||
|
||||
UART_HW_Uart1_DisableRawRecv:
|
||||
lds r16, UCSR1B
|
||||
cbr r16, (1<<RXCIE1) ; disable RX complete interrupt
|
||||
cbr r16, (1<<RXEN1) ; disable receive
|
||||
; cbr r16, (1<<RXCIE1) ; disable RX complete interrupt
|
||||
andi r16, ~(1<<RXEN1) ; disable receive
|
||||
sts UCSR1B, r16
|
||||
ret
|
||||
; @end
|
||||
@@ -144,6 +144,7 @@ UART_HW_Uart1_RawRecvPacket:
|
||||
rcall uartHwUart1RawRecvByte ; (R16, R18, R22)
|
||||
pop r17 ; pop acceptable COM address from R16 to R17
|
||||
brcc UART_HW_Uart1_RawRecvPacket_error
|
||||
|
||||
#ifndef COM_ACCEPT_ALL_DEST ; accept every destination address
|
||||
; compare destination address (accept "FF" and own address)
|
||||
cp r16, r17
|
||||
@@ -242,7 +243,7 @@ uartHwUart1RawWaitForByte1s_loop:
|
||||
rcall uartHwUart1RawWaitForByte100ms ; (r18, r22)
|
||||
pop r18
|
||||
brcs uartHwUart1RawWaitForByte1s_haveByte
|
||||
; sbi LED_SIMPLE_PORTIN, LED_SIMPLE_PINNUM ; toggle
|
||||
sbi LED_SIMPLE_PORTIN, LED_SIMPLE_PINNUM ; toggle
|
||||
dec r18
|
||||
brne uartHwUart1RawWaitForByte1s_loop
|
||||
clc
|
||||
@@ -306,10 +307,3 @@ uartHwUart1RawWaitForByte1ms_haveByte:
|
||||
.equ COMIO_DisableRawRecv = UART_HW_Uart1_DisableRawRecv
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user