打印

这句指令为什么这么写

[复制链接]
858|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yszong|  楼主 | 2019-1-24 11:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dengdc| | 2019-1-24 11:06 | 只看该作者
然后呢?你是怎么应对这个的呢

使用特权

评论回复
板凳
yszong|  楼主 | 2019-1-24 11:09 | 只看该作者
我大概明白什么意思 BIT1什么意思 为什么还要 >> 1

使用特权

评论回复
地板
jiahy| | 2019-1-24 11:12 | 只看该作者
貌似c里>>是右移位数

使用特权

评论回复
5
spark周| | 2019-1-24 11:15 | 只看该作者
打个比方吧,如果(P1IN & BIT1)的值等于1010,(P1IN & BIT1) >> 1;则表示这个值1010向右移动1位,就变成了0101。nP11 = (P1IN & BIT1) >> 1;表示再将0101赋值给nP11,执行了相应指令,以此类推。。。。

使用特权

评论回复
6
午夜粪车| | 2019-1-24 11:18 | 只看该作者
P1IN&BIT1表示P1.1的输入结果,但是,它是一个字节。如果要表示P1.1为高电平,则是通过00000010表示的。

使用特权

评论回复
7
huangchui| | 2019-1-24 11:22 | 只看该作者
如果要将其赋值给bit型变量,那么就只有该字节的最低位被赋值过去。

使用特权

评论回复
8
zhenykun| | 2019-1-24 11:24 | 只看该作者
因此,要把那个“1”右移到最低位才能正确地赋值给nP11,这就需要右移一位。

使用特权

评论回复
9
jlyuan| | 2019-1-24 11:26 | 只看该作者

同理P1IN&BIT2需要右移两位,以此类推。

使用特权

评论回复
10
dengdc| | 2019-1-24 11:30 | 只看该作者
main主程序程序开头都有一句“#include  <msp430x14x.h>”,在这个MSP149F149头文件中对编程中可能会用到的SFR特殊功能寄存器、特征字等都有宏定义,方便大家使用,对于BIT X定义如下:#define BIT0 0x0001
#define BIT1 0x0002
#define BIT2 0x0004
#define BIT3 0x0008
#define BIT4 0x0010
#define BIT5 0x0020
#define BIT6 0x0040
#define BIT7 0x0080
#define BIT8 0x0100
#define BIT9 0x0200
#define BITA 0x0400
#define BITB 0x0800
#define BITC 0x1000
#define BITD 0x2000
#define BITE 0x4000
#define BITF 0x8000
“&”字符为按位与操作符,“&&”则为逻辑与操作符,两个意义不一样;
“>>”为右移操作符,>> n表示右移n位;“<<”为左移操作符;移出的为丢弃,这两个操作符均不是循环移位操作符!

使用特权

评论回复
11
wuhany| | 2019-1-24 11:33 | 只看该作者
//读取各个管脚的状态
nP10 = P1IN & BIT0;
nP11 = (P1IN & BIT1) >> 1;
nP12 = (P1IN & BIT2) >> 2;
nP13 = (P1IN & BIT3) >> 3;
先读取P1管脚的状态,然后进行位操作,与完之后只保留nP1x中的x位的状态,其他位均被置0,之后再右移操作,将对应的x位右移至最低位。

使用特权

评论回复
12
shimx| | 2019-1-24 11:35 | 只看该作者
我比较好奇nP10,nP11,n是怎没回事

使用特权

评论回复
13
jiaxw| | 2019-1-24 11:38 | 只看该作者
这个是对PIO口进行初始化配置的吧?具体的看这个bit2\bit3的定义了

使用特权

评论回复
14
zhanghqi| | 2019-1-24 11:45 | 只看该作者
“>>”为右移操作符,>> n表示右移n位

使用特权

评论回复
15
wyjie| | 2019-1-24 11:48 | 只看该作者

读取一个引脚的状态。

使用特权

评论回复
16
zhanghqi| | 2019-1-24 11:51 | 只看该作者
你对这个有什么疑问吗?

使用特权

评论回复
17
yszong|  楼主 | 2019-1-26 18:27 | 只看该作者

哦,那我就知道怎么回事了,多谢大家,结贴了哈

使用特权

评论回复
18
airwill| | 2019-1-28 20:17 | 只看该作者
其实就是为了 转换成 0/1 的按键状态值

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

830

主题

11379

帖子

4

粉丝