Make XPLAINBridge serial bridge much more reliable for the reception of characters from the XMEGA through the software UART interface.

pull/1469/head
Dean Camera 15 years ago
parent ad29e79b94
commit 55d7e1e65b

@ -79,19 +79,13 @@ ISR(INT0_vect, ISR_BLOCK)
RX_Data = 0; RX_Data = 0;
RX_BitMask = (1 << 0); RX_BitMask = (1 << 0);
/* Check that the start bit is still low to prevent noise from triggering a reception */ /* Clear reception channel ISR flag and enable the bit reception ISR */
if (!(SRXPIN & (1 << SRX)))
{
/* Clear reception channel ISR flag in case it is pending */
TIFR1 = (1 << OCF1A); TIFR1 = (1 << OCF1A);
/* Still low, enable bit receive ISR */
TIMSK1 = (1 << OCIE1A); TIMSK1 = (1 << OCIE1A);
/* Clear the start bit detection ISR flag */ /* Disable start bit detection ISR while the next byte is received */
EIMSK &= ~(1 << INT0); EIMSK &= ~(1 << INT0);
} }
}
/** ISR to manage the reception of bits to the software UART. */ /** ISR to manage the reception of bits to the software UART. */
ISR(TIMER1_COMPA_vect, ISR_BLOCK) ISR(TIMER1_COMPA_vect, ISR_BLOCK)

Loading…
Cancel
Save