[AVR单片机] TIMSK0 |= (1 << TOIE0);

[复制链接]
4977|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
lizhenming 发表于 2013-9-5 23:11 | 显示全部楼层

TIMSK0是寄存器,TOIE0是其位
qin552011373 发表于 2013-9-6 08:14 | 显示全部楼层
错过分了
yanxinzou 发表于 2014-8-9 09:44 | 显示全部楼层
学习了真知识,我也一直没明白
hexin261234088 发表于 2014-8-12 09:49 | 显示全部楼层
单片机的寄存器要按位操作,TIMSK0 |= (1 << TOIE0); 意思是只将TIMSK0的TOIE0位置1,打开中断,对其他位不操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

311

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部