打印
[AVR单片机]

TIMSK0 |= (1 << TOIE0);

[复制链接]
4358|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
福州观沧海|  楼主 | 2013-8-30 12:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
TIMSK0 |= (1 << TOIE0); 我在ATMEGA88的定时器应用例程中看见这条语句,定时/计数0溢出中断允许的意思。我的疑惑是:为什么不是这么写:TIMSK0 |=  TOIE0;
(1 << TOIE0)为什么要TOIE0左移一位?TOIE0具体的数值是什么?跪求高手们解答!谢谢

相关帖子

沙发
huangxz| | 2013-8-30 15:27 | 只看该作者
你看看头文件就知道了。

使用特权

评论回复
板凳
福州观沧海|  楼主 | 2013-8-30 17:37 | 只看该作者
是我C不过关,(1 << TOIE0)是将1左移TOIE0位。因为TOIE0=0,所以是将1左移0位。

使用特权

评论回复
地板
游浪星| | 2013-9-4 10:01 | 只看该作者
左移0位就是不左移,(1<<TOIE0)=0X01

使用特权

评论回复
5
lizhenming| | 2013-9-5 23:11 | 只看该作者

TIMSK0是寄存器,TOIE0是其位

使用特权

评论回复
6
qin552011373| | 2013-9-6 08:14 | 只看该作者
错过分了

使用特权

评论回复
7
yanxinzou| | 2014-8-9 09:44 | 只看该作者
学习了真知识,我也一直没明白

使用特权

评论回复
8
hexin261234088| | 2014-8-12 09:49 | 只看该作者
单片机的寄存器要按位操作,TIMSK0 |= (1 << TOIE0); 意思是只将TIMSK0的TOIE0位置1,打开中断,对其他位不操作。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

311

帖子

1

粉丝