nP11 = (P1IN & BIT1) >> 1是什么意思

2019-08-05 15:56发布

在矩阵键盘显示程序中,
//读取各个管脚的状态
nP10 = P1IN & BIT0;
nP11 = (P1IN & BIT1) >> 1;
nP12 = (P1IN & BIT2) >> 2;
nP13 = (P1IN & BIT3) >> 3;
求指教 这句指令为什么这么写 我大概明白什么意思 BIT1什么意思 为什么还要 >> 1
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
Unshining
2019-08-06 01:44
P1IN&BIT1表示P1.1的输入结果,但是,它是一个字节。如果要表示P1.1为高电平,则是通过00000010表示的。
如果要将其赋值给bit型变量,那么就只有该字节的最低位被赋值过去。
因此,要把那个“1”右移到最低位才能正确地赋值给nP11,这就需要右移一位。
同理P1IN&BIT2需要右移两位,以此类推。

一周热门 更多>