[应用相关] 指令为什么这么写

[复制链接]
946|7
 楼主| zhouhuanの 发表于 2017-7-5 21:39 | 显示全部楼层 |阅读模式
在矩阵键盘显示程序中,
//读取各个管脚的状态
nP10 = P1IN & BIT0;
nP11 = (P1IN & BIT1) >> 1;
nP12 = (P1IN & BIT2) >> 2;
nP13 = (P1IN & BIT3) >> 3;
求指教 这句指令为什么这么写
bbapple 发表于 2017-7-5 21:43 | 显示全部楼层
我大概明白什么意思 BIT1什么意思 为什么还要 >> 1
wanglaojii 发表于 2017-7-5 21:50 | 显示全部楼层
貌似c里>>是右移位数。。。
laozhongyi 发表于 2017-7-5 21:52 | 显示全部楼层
nP11 = (P1IN & BIT1) >> 1;表示再将0101赋值给nP11,执行了相应指令,以此类推。。。。
Edisons 发表于 2017-7-5 21:58 | 显示全部楼层
P1IN&BIT1表示P1.1的输入结果,但是,它是一个字节。。
_gege 发表于 2017-7-5 22:17 | 显示全部楼层
如果要表示P1.1为高电平,则是通过00000010表示的。
Mozarts 发表于 2017-7-5 22:19 | 显示全部楼层
如果要将其赋值给bit型变量,那么就只有该字节的最低位被赋值过去。
Listate 发表于 2017-7-5 22:25 | 显示全部楼层
先读取P1管脚的状态,然后进行位操作,与完之后只保留nP1x中的x位的状态,其他位均被置0,之后再右移操作,将对应的x位右移至最低位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

1557

帖子

2

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