avr: more work on bitbang module (works now).

This commit is contained in:
Martin Preuss
2024-10-28 23:43:19 +01:00
parent 2626c4365c
commit c5915b5583
3 changed files with 28 additions and 23 deletions

View File

@@ -59,14 +59,11 @@ UART_BitBang_Init:
rcall Utils_FillSram
; setup pins and interrupts
cbi COM_TXD_DATA, COM_TXD_PIN ; disable internal pullup for TXD
cbi COM_TXD_DDR, COM_TXD_PIN ; set TXD port as input
cbi COM_DATA_DDR, COM_DATA_PIN ; set DATA port as input
cbi COM_DATA_OUTPUT, COM_DATA_PIN ; disable internal pullup for TXD
cbi COM_RXD_OUTPUT, COM_RXD_PIN ; disable internal pullup for RXD
cbi COM_RXD_DDR, COM_RXD_PIN ; set RXD port as input
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable internal pullup for ATTN
cbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN port as input
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable internal pullup for ATTN
sbi COM_IRQ_ADDR_ATTN, COM_IRQ_BIT_ATTN ; enable pin change irq for ATTN line
in r16, GIMSK ; enable pin change irq PCIE0 or PCIE1
@@ -89,8 +86,7 @@ UART_BitBang_Init:
; @clobbers R16, R17, X, Y
UART_BitBang_Fini:
cbi COM_TXD_DDR, COM_TXD_PIN ; set TXD port as input
cbi COM_RXD_DDR, COM_RXD_PIN ; set RXD port as input
cbi COM_DATA_DDR, COM_DATA_PIN ; set TXD port as input
cbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN port as input
cbi COM_IRQ_ADDR_ATTN, COM_IRQ_BIT_ATTN ; disable pin change irq for ATTN line