这句指令为什么这么写

2019-07-20 15:58发布

在矩阵键盘显示程序中,
//读取各个管脚的状态
nP10 = P1IN & BIT0;
nP11 = (P1IN & BIT1) >> 1;
nP12 = (P1IN & BIT2) >> 2;
nP13 = (P1IN & BIT3) >> 3;
求指教 这句指令为什么这么写
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
zhenykun
1楼-- · 2019-07-21 14:11
因此,要把那个“1”右移到最低位才能正确地赋值给nP11,这就需要右移一位。
jlyuan
2楼-- · 2019-07-21 19:48
同理P1IN&BIT2需要右移两位,以此类推。
dengdc
3楼-- · 2019-07-21 20:20
 精彩回答 2  元偷偷看……
wuhany
4楼-- · 2019-07-21 23:13
//读取各个管脚的状态
nP10 = P1IN & BIT0;
nP11 = (P1IN & BIT1) >> 1;
nP12 = (P1IN & BIT2) >> 2;
nP13 = (P1IN & BIT3) >> 3;
先读取P1管脚的状态,然后进行位操作,与完之后只保留nP1x中的x位的状态,其他位均被置0,之后再右移操作,将对应的x位右移至最低位。
yszong
5楼-- · 2019-07-22 03:39
结贴了,多谢大家讨论这么多哈,呵呵
米尔豪斯
6楼-- · 2019-07-22 06:39
我比较好奇nP10,nP11,n是怎没回事

一周热门 更多>