From 55d7e1e65bccd6b4c44802cf971f39eb05e6e57a Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Thu, 24 Jun 2010 08:12:27 +0000 Subject: Make XPLAINBridge serial bridge much more reliable for the reception of characters from the XMEGA through the software UART interface. --- Projects/XPLAINBridge/Lib/SoftUART.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'Projects/XPLAINBridge') diff --git a/Projects/XPLAINBridge/Lib/SoftUART.c b/Projects/XPLAINBridge/Lib/SoftUART.c index a23ea456d..02223af98 100644 --- a/Projects/XPLAINBridge/Lib/SoftUART.c +++ b/Projects/XPLAINBridge/Lib/SoftUART.c @@ -79,18 +79,12 @@ ISR(INT0_vect, ISR_BLOCK) RX_Data = 0; RX_BitMask = (1 << 0); - /* Check that the start bit is still low to prevent noise from triggering a reception */ - if (!(SRXPIN & (1 << SRX))) - { - /* Clear reception channel ISR flag in case it is pending */ - TIFR1 = (1 << OCF1A); - - /* Still low, enable bit receive ISR */ - TIMSK1 = (1 << OCIE1A); + /* Clear reception channel ISR flag and enable the bit reception ISR */ + TIFR1 = (1 << OCF1A); + TIMSK1 = (1 << OCIE1A); - /* Clear the start bit detection ISR flag */ - EIMSK &= ~(1 << INT0); - } + /* Disable start bit detection ISR while the next byte is received */ + EIMSK &= ~(1 << INT0); } /** ISR to manage the reception of bits to the software UART. */ -- cgit v1.2.3