Go Down

Topic: A quick reference please sei() (Read 456 times) previous topic - next topic

greywolf271

Hello,
If anyone can provide a quick reference..........
Is  sei()  an AVR assembler macro ?

Grumpy_Mike


GoForSmoke

reference from AVR LibC

http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html
Quote

#define sei    (       )    

Enables interrupts by setting the global interrupt mask. This function actually compiles into a single line of assembly, so there is no function call overhead. However, the macro also implies a memory barrier which can cause additional loss of optimization.

In order to implement atomic access to multi-byte objects, consider using the macros from <util/atomic.h>, rather than implementing them manually with cli() and sei().

I find it harder to express logic in English than in Code.
Sometimes an example says more than many times as many words.

greywolf271

#3
Jan 21, 2013, 10:58 pm Last Edit: Jan 21, 2013, 10:59 pm by greywolf271 Reason: 1

reference from AVR LibC

http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html


          Many thanks, exactly what I was trying to locate

Go Up