问大家两个AVR单片机的问题: 1.UCSR0B |=(1<<RXCIE0)为什么是允许串口0中断?1<<RXCIE0不是把1左移RXCIE0

 我来答
看看奋7301
2010-08-16 · TA获得超过168个赞
知道答主
回答量:69
采纳率:0%
帮助的人:93.6万
展开全部
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中断。
中风狂走的小猪
2010-08-16 · 超过16用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:43.2万
展开全部
你看看编译器的宏定义吧,头文件里面应该有这么一个定义 #define RXCIE 0x07 也就是说 1<<RXCIE 就是等同于 1000 0000B ,UCSRB |=(1<<RXCIE)的意思是把 UCSRB 这个寄存器里面的 最高位置位为1,相对应的这一位置1就是使能RXC 中断。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式