Red de conocimiento informático - Conocimiento informático - Estoy aprendiendo por mi cuenta a programar AVR C. Veo _BV(RD) y _BV(WR) en el código pero no sé qué significan. No sé lo que quieren decir.

Estoy aprendiendo por mi cuenta a programar AVR C. Veo _BV(RD) y _BV(WR) en el código pero no sé qué significan. No sé lo que quieren decir.

La explicación anterior es incorrecta.

#define _BV(bit) (1 << (bit))

_BV() es una función que desplaza 1 hacia la izquierda N bits.

_BV(7) es equivalente a (1<<7)

No tiene nada que ver con configurar o borrar bits per se. Sin embargo, esta función en realidad se utiliza principalmente para configurar o borrar bits.

Por ejemplo:

PORTA|=_BV(PA7)

PORTB&=~_BV(PB6)

PORTC^=_BV ( PC5)

Equivalentes respectivamente:

PORTA = PORTA | (1<

PORTB = PORTB & (~(1<

PUERTO = PUERTO ^ (1<