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

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条回答
wchfirefox
1楼-- · 2019-03-24 19:17
 精彩回答 2  元偷偷看……
leekuip
2楼-- · 2019-03-24 20:42
< :TI_MSP430_内容页_SA7 --> 这是对寄存器进行位操作,1向左移动4位,然后与寄存器进行或操作,在不影响其他位状态的情况下把第4位置高
huang91
3楼-- · 2019-03-25 01:31
#define LEDPORT P5OUT
#define LEDDIR P5DIR
#define RLEDBIT 1<<4  //等价于BIT4  
                                         //0000 0001把这个1左移4位得到
                       //0001 0000
子程序
void LedInit()
{
LEDDIR = LEDDIR | RLEDBIT ;//设置P5.4口为输出
LEDPORT = LEDPORT | RLEDBIT ;//设置P5.4口为输出高电平

}
编译后应该是
P5DIR=P5DIR | 1<<4;
P5OUT=P5OUT | 1<<4;
shower.xu
4楼-- · 2019-03-25 01:47
 精彩回答 2  元偷偷看……
wchfirefox
5楼-- · 2019-03-25 03:46
豁然开朗
wchfirefox
6楼-- · 2019-03-25 05:49
感谢~

一周热门 更多>

相关问题

    相关文章