<<是什么意思啊

[复制链接]
 楼主| onekristy 发表于 2007-8-28 14:26 | 显示全部楼层 |阅读模式
最近在学习EasyARM2131开发板,里面有个DEMO程序,开始部分是这样写的
#define        BEEP        1 << 7            // P0.7控制蜂鸣器BEEP
#define     LEDS8         0xFF << 18        // P1[25:18]控制LED8~LED1,低电平点亮 
#define       HC595_CS       (1 << 29)          // P0.29口为74HC595的片选
#define     KEY1          1 << 16            // P0.16连接KEY1
#define     KEY2          1 << 17            // P0.17连接KEY2
#define     KEY3          1 << 18            // P0.18连接KEY3
#define     KEY4          1 << 19            // P0.19连接KEY4
#define     KEY5          1 << 20            // P0.20连接KEY5
#define     KEY6          1 << 21            // P0.21连接KEY6
......................................
上面的"<<"是什么意思啊,在C语言里"<<"不是表示左移的意思吗?在这里"1<<7"为什么表示的是P0.7啊,搞不明白阿
HWM 发表于 2007-8-28 14:27 | 显示全部楼层

移位

computer00 发表于 2007-8-28 15:06 | 显示全部楼层

左移

 楼主| onekristy 发表于 2007-8-28 15:20 | 显示全部楼层

那问什么"1<<7"表示P0.7呢

HWM 发表于 2007-8-28 15:24 | 显示全部楼层

LS:1向左移7位不就是0x80吗?对应的就是P0的最高位

ayb_ice 发表于 2007-8-30 18:37 | 显示全部楼层

这时只是定义,取决于怎么使用。。。

qjy_dali 发表于 2007-8-31 09:48 | 显示全部楼层

1<<7是第7位的掩码

您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

10

帖子

1

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