[En-Nut-Discussion] usartavr driver problem/bug FIX

Grzegorz Płoński grzegorz.plonski at numeron.pl
Wed Nov 10 13:09:57 CET 2004


Hi,



Make this in usartavr.c :

if (rbf->rbf_cnt--) {

#ifdef UART_CTS_BIT
        /* 
         * If CTS has been disabled, we disable the transmit interrupts
         * and return without sending anything.
         */
        if (cts_sense && bit_is_set(UART_CTS_PIN, UART_CTS_BIT)) {
            cbi(UCSRnB, UDRIE);
            sbi(EIMSK, UART_CTS_BIT);
            

            rbf->rbf_cnt++;  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<< ADDED


            return;
        }
#endif


Greg Plonski,


-----Original Message-----
From: en-nut-discussion-bounces at egnite.de
[mailto:en-nut-discussion-bounces at egnite.de] On Behalf Of Ole Reinhardt
Sent: Tuesday, November 09, 2004 1:08 PM
To: Ethernut User Chat (English)
Subject: RE: [En-Nut-Discussion] usartavr driver problem/bug

Hello,

> Only tested 2 hours.
> My conclusions :
> - CTS fonction works ONLY a moment. Good behavior on the scope at this
step.
> Flow is stopped quicky... 
> - After this moment, usart sends bad data (or some data are lost in fact,
I
> don't know) OR is definitively locked.  (Especially true after the Tx
buffer
> becomes empty again, after strong CTS handshake...) 

yes, I just have noticed this or similar behavior a few month ago. I
used both, RTS and CTS and got corrupted data after a while. I could not
figure out what exactly the problem was...

Have a look to my former posting from 09/17/2004

In one project I would need RTS / CTS handshake a lot, so I would be
glad if this could be fixed. I would do so by my own, but did not
understand how this should work correctly in the usart driver.

Hope you'll find something.

Bye,

Ole

-- 
kernel concepts    Tel: +49-271-771091-14
Dreisbachstr. 24   Fax: +49-271-771091-19
D-57250 Netphen    E+ : +49-177-7420433
--


_______________________________________________
En-Nut-Discussion mailing list
En-Nut-Discussion at egnite.de
http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion






More information about the En-Nut-Discussion mailing list