求高人指点,一个关于“<<”的程序问题,实在搞不懂,万谢~~~~

2019-03-24 15:00发布

程序如下
宏定义段:
#define LEDPORT P5OUT
#define LEDDIR  P5DIR
#define RLEDBIT 1<<4
子程序
void LedInit()
{
  LEDDIR = LEDDIR | RLEDBIT ;
  LEDPORT = LEDPORT | RLEDBIT ;
}
编译后应该是
P5DIR=P5DIR | 1<<4;
P5OUT=P5OUT | 1<<4;
这里面的1<<4是什么作用呢?
谢谢啦:carnation: ~ 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
leekuip
1楼-- · 2019-03-25 09:45
 精彩回答 2  元偷偷看……
ddllxxrr
2楼-- · 2019-03-25 10:42
这里面的1&lt;&lt;4是什么作用呢?就是把0B00000001左移4位右边添零补位,结果为0B00010000
shower.xu
3楼-- · 2019-03-25 12:45
原帖由 leekuip 于 2012-2-1 11:00 发表
看4楼,应该是0x10,是从第0位开始算的

是的,我错了
shenmiao0330
4楼-- · 2019-03-25 18:43
 精彩回答 2  元偷偷看……
wstt
5楼-- · 2019-03-25 20:19
做的移位操作
相当于(00000001)左移4位 变为(00010000)

一周热门 更多>

相关问题

    相关文章