RE: atmega 128, usart0

May 12, 2004 1 Replies

Witam



tranmisja juz mi chodzi :-) i nawet na przerwaniach. Ale mam taki problem : Jezeli funkcja zapisujaca dane do bufora nadawczego uzywa takie makra : #define DisableTX0_ISR() {cli();uint8_t ucByte = inb( UCSR0B ); ucByte &= ~_BV(TXCIE);UCSR0B = ucByte;sei();}



#define EnableTX0_ISR() {UCSR0B |= _BV(TXCIE);sei();}



to program nie dziala.



A jezeli uzywa



#define DisableTX0_ISR() cli()



#define EnableTX0_ISR() sei()



to dziala znakomicie.



Jak powinno sie wylaczac i wlaczac przerwanie od TX complete ???



jfk



Wed, 12 May 2004 13:03:10 +0200, na pl.misc.elektronika, jfk napisał(a):

Zawsze uzywalem z powodzeniem najzwyczajniejszych ( to wprawdzie dla pustego bufora, nie bardzo wiem czemu uzywasz TXcomplete - czy to 485 ? )

#define ENABLE_TXD UCSRB |= _BV(UDRIE) #define DISABLE_TXD UCSRB &= ~(_BV(UDRIE))

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required