avr: more work on bitbang module (works now).
This commit is contained in:
@@ -84,7 +84,7 @@ uartBitbang_SendPacket:
|
||||
brcc uartBitbang_SendPacket_lineBusyError
|
||||
|
||||
rcall uartBitbang_WaitForOneBitLength ; wait for one bit duration (R22)
|
||||
rcall uartBitbang_WaitForOneBitLength ; wait for one bit duration (R22)
|
||||
; rcall uartBitbang_WaitForOneBitLength ; wait for one bit duration (R22)
|
||||
|
||||
adiw xh:xl, COM2_MSG_OFFS_MSGLEN
|
||||
ld r17, X
|
||||
@@ -126,13 +126,13 @@ uartBitbang_SendPacket_lineBusyError:
|
||||
|
||||
uartBitbang_AcquireBus:
|
||||
; check for ATTN line: busy?
|
||||
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable pullup on ATTN
|
||||
cbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN as input
|
||||
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable pullup on ATTN
|
||||
nop ; needed to sample current input
|
||||
sbis COM_ATTN_INPUT, COM_ATTN_PIN ; ATTN low?
|
||||
rjmp uartBitbang_AcquireBus_busy ; jump if it is
|
||||
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; set ATTN low
|
||||
sbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN as output
|
||||
cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; set ATTN low
|
||||
sec
|
||||
ret
|
||||
uartBitbang_AcquireBus_busy:
|
||||
|
||||
Reference in New Issue
Block a user