打印

求助:ATmega88程序问题

[复制链接]
1254|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
神之胡之|  楼主 | 2012-3-27 22:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在看别人写的一段程序,有个地方看不懂,他用得是ATmega88单片机。
程序如下:

#define CTL_HI (!(ACSR & (1<<ACO)))

其中ACSR是模拟比较器的寄存器,ACO是该寄存器的某一位,用作比较器的输出。
我的问题是:1<<ACO是什么意思?<<是移位运算符吗?作用是ACO左移一位吗?
c语言里做一不是都写作a<<1吗?

相关帖子

沙发
HWM| | 2012-3-27 23:02 | 只看该作者
“ACO”是其在ACSR中的位置,“1<<ACO”表示“1”左移ACO位。

使用特权

评论回复
板凳
SLEET1986| | 2012-3-28 08:23 | 只看该作者
ACO头文件里面有这个位数值的定义

使用特权

评论回复
地板
神之胡之|  楼主 | 2012-3-28 12:26 | 只看该作者
2# HWM
你说的对,谢谢。我现在搞懂了

使用特权

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

本版积分规则

0

主题

23

帖子

1

粉丝