问大家两个AVR单片机的问题: 1.UCSR0B |=(1<<RXCIE0)为什么是允许串口0中断?1<<RXCIE0不是把1左移RXCIE0
2个回答
展开全部
UCSR0B寄存器相关说明如下:
/* USART0 Control Register B - UCSR0B */
#define RXCIE0 7
#define TXCIE0 6
#define UDRIE0 5
#define RXEN0 4
#define TXEN0 3
#define UCSZ02 2
#define RXB80 1
#define TXB80 0
由此我们可以看到RXCIE0的值为7,1经过向左移7位,变成1000 0000b,即将寄存器UCSR0B的RXCIE0位置1,即允许串口0中断。
/* USART0 Control Register B - UCSR0B */
#define RXCIE0 7
#define TXCIE0 6
#define UDRIE0 5
#define RXEN0 4
#define TXEN0 3
#define UCSZ02 2
#define RXB80 1
#define TXB80 0
由此我们可以看到RXCIE0的值为7,1经过向左移7位,变成1000 0000b,即将寄存器UCSR0B的RXCIE0位置1,即允许串口0中断。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询