RE: atmega 128, usart0

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

Reply to
jfk
Loading thread data ...

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))

Reply to
Jurek Szczesiul

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.